Я создаю приложение, использующее wpf в .NET framework (используя визуальную студию). У меня есть объект «Пользователь», объект представляет собой различные свойства: 1. Название VARCHAR 2. IsCanRead 3. IsCanWriteобъект не обновляется «на лету»
2-й и 3-й свойства управления, может ли пользователь читать или писать, или обоих. Они привязаны к флажкам. В соответствии с установленными флажками на другом экране отображаются 3 выпадающих списка. 1. Раскрывающийся список состоит из людей, которые могут читать 2. dropdown 2 состоит из людей, которые могут писать 3 В третьем выпадающем списке указаны имена тех, кто может делать как
теперь, когда я изменяю какое-либо свойство для объекта, мне нужно перезагрузить экран, чтобы увидеть изменения. Может ли кто-нибудь помочь мне и рассказать мне, как я могу убедиться, что пользователю не нужно перезагружать экран? и изменения немедленно отражаются?
Ниже приведен XAML код
<DataGrid.Columns>
<DataGridTemplateColumn Header="Name" Width="Auto" SortMemberPath="Name">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Name}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=Name}">
<i:Interaction.Behaviors>
<behavior:AllowableCharactersTextBoxBehavior RegularExpression="^[a-zA-Z0-9 ]*$" MaxLength="50"/>
</i:Interaction.Behaviors>
</TextBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Can Read?" SortMemberPath="IsCanRead">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=IsCanRead}" IsEnabled="False" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=IsCanRead, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn Header="Can Write?" SortMemberPath="IsCanWrite">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=IsCanWrite}" IsEnabled="False" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=IsCanWrite, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
IsCanRead и IsCanWrite принимают булевы значения, поскольку они связаны с флажками – Manika
Показать фактический класс и фактические привязки, найденные в Xaml, сохраняя их как сжатые, но не заполненные ненужной информацией, такой как параметры Width в Xaml. – OmegaMan