我无法让我的应用程序正确调整屏幕大小。这里是我的xamlSilverlight 4如何检测屏幕大小并绑定到网格
<Grid x:Name="LayoutRoot"
Background="White"
DataContext="{Binding Source={StaticResource ViewModel}}"
MinHeight="473"
MinWidth="1200"
MaxHeight="600"
MaxWidth="1366">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SizeChanged">
<ei:CallMethodAction MethodName="WndSizeChanged"
TargetObject="{Binding}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300*" />
<ColumnDefinition Width="189*" />
<ColumnDefinition Width="720*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="101*" />
<RowDefinition Height="372*" />
</Grid.RowDefinitions>
<sdk:DataGrid Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="3"
AutoGenerateColumns="False"
HorizontalAlignment="Left"
Height="Auto"
Width="Auto"
Name="dataGrid_Columns"
VerticalAlignment="Top"
ItemsSource="{Binding Path=LstDetails}"
RowDetailsVisibilityMode="VisibleWhenSelected"
IsReadOnly="True"
HeadersVisibility="All"
HorizontalScrollBarVisibility="Visible"
VerticalScrollBarVisibility="Visible"
CanUserReorderColumns="True"
CanUserResizeColumns="True"
CanUserSortColumns="True">
.....more code nested in here.......
</sdk:DataGrid>
我已经尝试把汽车的用户控件,也在网格中,没有任何工作。如果我拿出最小和最大值,那么它就会离开页面。我放在那里的事件只有在你调整大小后才会触发。我会假设,因为这是一个shell内的用户控件。我正在使用棱镜。我找到了一个检测高度和宽度的例子,但它最初并不起作用。当我将高度和宽度绑定到双重属性时,事件根本不会触发。我正在用尽想法。我已经找到了将代码放在实际宽度和高度后面的方法。我真的想避免背后的代码,但即使这样也行不通。我知道问题与数据网格有关,因为这是动态的,并且会根据过滤器增长或缩小。任何帮助是极大的赞赏。谢谢。
你已经设置AutoGenerateColumns =“false”,并没有添加任何列到datagrid然后它将如何工作 – Hukam 2011-03-28 15:18:41
我没有把我所有的标记,因为这会有点太多。我拥有所有这一切。数据显示时,我把固定的宽度和高度,但当我不这样扩展到3000+的高度。当它完成加载数据时,我使用弹出窗口进行了检查。 – pqsk 2011-03-28 15:22:02