我的数据网格有一个小问题。我不希望用户能够向数据网格添加行。但是,当我设置CanUsersAddRows=True
时,我的三个Buttons
在datagrid缩小由于某种原因并且不是真的可见。这是一个错误还是我犯了错误?
这是我的数据网格代码:
<DataGrid
x:Name="taskGrid"
AutoGenerateColumns="False"
Background="{DynamicResource MaterialDesignBackground}"
Foreground="#FF000000"
IsReadOnly="False"
ItemsSource="{Binding Times}"
CanUserAddRows="True"
SelectedItem="{Binding SelectedTime}"
VerticalScrollBarVisibility="Auto">
<DataGrid.Columns>
<DataGridTextColumn
Width="0.25*"
Binding="{Binding Mitarbeiter}"
Header="Mitarbeiter" />
<!--StringFormat='HH:mm:ss',-->
<DataGridTextColumn
Width="0.25*"
Binding="{Binding startTime, ConverterCulture={x:Static gl:CultureInfo.CurrentCulture}}"
Header="Startzeit" />
<DataGridTextColumn
Width="0.25*"
Binding="{Binding endTime, ConverterCulture={x:Static gl:CultureInfo.CurrentCulture}}"
Header="Endzeit" />
<DataGridCheckBoxColumn
Width="0.25*"
Binding="{Binding Nachgetragen}"
Header="Nachgetragen" />
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button
x:Name="btnOpenDetails"
Background="{DynamicResource MaterialDesignBackground}"
BorderThickness="0"
Click="btnOpenDetails_Click"
Foreground="#FF000000"
Tag="{Binding AuftragID}">
Details
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button
x:Name="btnChangeTaskNumber"
Background="{DynamicResource MaterialDesignBackground}"
BorderThickness="0"
Click="btnChangeTaskNumber_Click"
Foreground="#FF000000"
IsEnabled="True"
Tag="{Binding ID}">
Auftragsnummer ändern
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button
x:Name="btnDeleteEntry"
Background="{DynamicResource MaterialDesignBackground}"
BorderThickness="0"
Click="btnDeleteEntry_Click"
Foreground="#FF000000"
Tag="{Binding AuftragID}">
Löschen
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
下图显示了在datagrid控件中设置属性CanUsersAddRows=True
时的示例(请注意右侧的三个按钮):
下一张图片显示了相同的内容,但这次是使用CanUsersAddRows=False
:
如你所见,按钮有点消失。到底是怎么回事。我需要改变什么?
谢谢!
我设法解决了这个问题。我给了<DataGridTemplateColumn>
列一个宽度。这解决了问题。但我仍然不明白为什么它在CanUsersAddRows=False
时有效。一个更好的答案将不胜感激!