我遇到了一個我無法從中找出來源的錯誤,所以我想問一下是否有人遇到過類似的事情。設定很簡單:
<Grid>
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn Header="Test1" Width="100"/>
<DataGridTextColumn Header="Test2" Width="100"/>
<DataGridTextColumn Header="Test3" Width="100"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
當然,在資料網格之后還有更多代碼,但在任何時候我都不會實作任何樣式或主題,也不會以任何方式、形狀或形式與資料網格互動,并且將所有代碼都包含在內將是太多的代碼。當我將滑鼠懸停在列之間的分割線上時,滑鼠游標不會更改為帶有 2 個箭頭 (Cursors.SizeWE) 的調整大小游標。如果我單擊并拖動并在任何其他方面按預期作業,它仍然可以正常作業并調整大小。
在這個設定中,我有一個樣式,但僅適用于我的按鈕,在這里它根本無法調整大小:
<Grid x:Name="grid_main" Height="Auto" Width="Auto" Background="White">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<DataGrid Grid.Row="1">
<DataGrid.Columns>
<DataGridTextColumn Header="Test1" Width="100"/>
<DataGridTextColumn Header="Test2" Width="100"/>
<DataGridTextColumn Header="Test3" Width="100"/>
</DataGrid.Columns>
</DataGrid>
<DockPanel Width="Auto" Height="Auto">
<Button x:Name="btn_loadSchema" Content="Load Schema" Grid.Row="0" Height="20" Width="85" DockPanel.Dock="Left"
Margin="5" Click="LoadSchema" Style="{StaticResource ModernButtonTheme}"/>
<Button x:Name="btn_loadJSON" Content="Load JSON" Grid.Row="0" Height="20" Width="85" DockPanel.Dock="Left"
Margin="5" Click="LoadJSON" Style="{StaticResource ModernButtonTheme}" IsEnabled="False"/>
<Button x:Name="btn_saveJSON" Content="Save JSON" Grid.Row="0" Height="20" Width="85" DockPanel.Dock="Left"
Margin="5" Click="SaveJSON" Style="{StaticResource ModernButtonTheme}" IsEnabled="False"/>
<Label/>
</DockPanel>
<ScrollViewer Grid.Row="1" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<Grid x:Name="grid_content" Height="Auto" Width="Auto">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
</Grid>
</ScrollViewer>
</Grid>
uj5u.com熱心網友回復:
您是否嘗試將您的第一個 XAML 片段復制到一個空白的 WPF 專案中?那你能重現這個問題嗎?我懷疑,因為我做不到。
至于您的第二個代碼段,您應該ScrollViewer通過將另一個添加RowDefinition到Grid并增加Grid.Row附加屬性的值來洗掉或將其移動到另一行。目前,它位于DataGrid.
嘗試這個:
<Window ...>
<Grid x:Name="grid_main" Height="Auto" Width="Auto" Background="White">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<DataGrid x:Name="dg" Grid.Row="1">
<DataGrid.Columns>
<DataGridTextColumn Header="Test1" Width="100"/>
<DataGridTextColumn Header="Test2" Width="100"/>
<DataGridTextColumn Header="Test3" Width="100"/>
</DataGrid.Columns>
</DataGrid>
<DockPanel Width="Auto" Height="Auto">
<Button x:Name="btn_loadSchema" Content="Load Schema" Grid.Row="0" Height="20" Width="85" DockPanel.Dock="Left"
Margin="5" />
<Button x:Name="btn_loadJSON" Content="Load JSON" Grid.Row="0" Height="20" Width="85" DockPanel.Dock="Left"
Margin="5" IsEnabled="False"/>
<Button x:Name="btn_saveJSON" Content="Save JSON" Grid.Row="0" Height="20" Width="85" DockPanel.Dock="Left"
Margin="5" IsEnabled="False"/>
<Label/>
</DockPanel>
</Grid>
</Window>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/357666.html
上一篇:視窗左位置失敗
