2017-04-19 2 views
0
der Größe

Es ist ein WPF-Fenster wie diese,WPF-Fenster mit dem Inhalt des Content nicht

. 
. 
. 
<Grid> 
    <ContentPresenter Content="{Binding CameraCanvas}" Focusable="true" Margin="0" /> 
</Grid> 
</Window> 

Ich will das übergeordnete Fenster nach dem Inhalt ContentPresenter verkleinert. Inhalt wird dynamisch geladen

SizeToContent und VerticalAlignment/HorizontalAlignment hat nicht funktioniert. Jede Hilfe wäre großartig.

Antwort

0

Einstellung SizeToContent-WidthAndHeight funktionieren sollte. Beachten Sie, dass die SizeToContent Eigenschaft automatisch auf Manual gesetzt, wenn ein Benutzer das Fenster passt die Größe von der Größe ändern Griff oder über den Rand ziehen aber so haben Sie wahrscheinlich auch die ResizeMode Eigenschaft auf NoResize festlegen möchten.

Bitte beachten Sie den folgenden Beispielcode, der die Content Eigenschaft der ContentPresenter zu einem 500x300 Rechteck nach 3 Sekunden setzt:

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     mc:Ignorable="d" 
     Title="MainWindow" 
     SizeToContent="WidthAndHeight" 
     ResizeMode="NoResize"> 
    <Grid> 
     <ContentPresenter x:Name="cc" Focusable="true" Margin="0"> 
      <ContentPresenter.Content> 
       <TextBlock>test</TextBlock> 
      </ContentPresenter.Content> 
     </ContentPresenter> 
    </Grid> 
</Window> 

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
     Loaded += async (s, e) => 
     { 
      await Task.Delay(3000); 
      cc.Content = new Rectangle { Width = 500, Height = 300, Fill = Brushes.Red }; 
     }; 
    } 
} 

Die Größe des Fensters dann erhöht wird, ebenso wie erwartet.

+0

Danke für Ihre Antwort. Ich habe es versucht, aber es hat nicht funktioniert. – Progstar

+0

Dann machst du offensichtlich etwas falsch, weil es Wunder für mich bewirkt. Was bedeutet "nicht funktionieren" eigentlich? – mm8

+0

Offenbar ist das Fenster wie leerer Inhalt geöffnet (wie Fensterbreite und -höhe gleich 0). Aber Inhalt ist da sicher. – Progstar

Verwandte Themen