2
這是顯示我的應用程序的詳細信息的UserControl,您可以看到ColumnWidth
屬性顯式設置爲*
。我也嘗試從DataGridTextColumn
中設置Width
屬性。DataGrid ColumnWidth在DataTemplate中爲行細節忽略的屬性
<UserControl x:Class="WpfUserInterface.MyDetailsView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" Height="185" d:DesignWidth="480">
<Grid>
<DataGrid ColumnWidth="*" Margin="10">
<DataGrid.Columns>
<DataGridTextColumn Header="Column1"/>
<DataGridTextColumn Header="Column2"/>
<DataGridTextColumn Header="Column3"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</UserControl>
這是僅包含DataGrid的主窗口。
<Window x:Class="WpfUserInterface.Window"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window" Height="306" Width="453">
<Grid>
<DataGrid ColumnWidth="*">
<DataGrid.Columns>
<DataGridTextColumn Header="ParentColumn1"/>
<DataGridTextColumn Header="ParentColumn2"/>
<DataGridTextColumn Header="ParentColumn3"/>
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<MyDetailsView/>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
</Grid>
</Window>
這是在運行應用程序並在父DataGrid中選擇一行時在屏幕上顯示的內容。
當我設置數據網格的寬度在MyDetailsView
像400指定的值的列的尺寸完美但這不是一個選項。有什麼辦法可以解決這個問題嗎?解決方法?
我也面臨同樣的問題。無論我將ColumnWidth作爲*還是來自任何綁定的值,都會被忽略。但是,在xaml中給出絕對值是可行的。 – digitguy