我有DataWindow
和UserControls
(不同ViewModels
)。
我的DataWindow.Xaml
:
<catel:DataWindow.Resources>
<DataTemplate DataType="{x:Type viewmodels:MessageViewModel}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20*"/>
<ColumnDefinition Width="80*"/>
</Grid.ColumnDefinitions>
<Views:MessageView Grid.Column="1"/>
</Grid>
</DataTemplate>
</catel:DataWindow.Resources>
<ItemsControl ItemsSource="{Binding Messages}">
我的UserControl
:MessageView.Xaml
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Border Grid.Row="0" Background="Red">
</Border>
<Border Grid.Row="1">
...
Content
...
</Border>
</Grid>
Messages
:ObservableCollection<ViewModelBase>();
我UserControl
中的内容在运行时动态添加DataWindow
。如果UserControl
中的内容宽度大于WindowWidth ColumnWidth(column1 20 *和column2 80 *)不起作用。我只看到Grid.Column(80 *),它的宽度是100 *。我究竟做错了什么?
谢谢你的帮助!
答案 0 :(得分:0)
当窗口大小超过窗口大小时,无法渲染80%的窗口。 要解决此问题,您可以通过删除代码中的Windows Width属性来使窗口大小动态化。