我無法讓我的應用程序正確調整屏幕大小。這裏是我的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