0

在 WPF 中,我尝试使用数据绑定来定义 BindingMode。

<controls:BoolToStringConverter x:Key="BoolToStringConverter" FalseValue="OneWay" TrueValue="TwoWay" />
<TextBox Text="{Binding MyText, Mode="{Binding Path=IsWriteable, Converter={StaticResource BoolToStringConverter}}" />

另外,我尝试使用 System.Windows.Data.BindingMode 枚举作为属性“MyBindingMode”的数据类型并绑定到这个,但它也不起作用

<TextBox Text="{Binding MyText, Mode={Binding Path=MyBindingMode}}" />

这种绑定是否有任何可能性,或者有什么合适的方法来实现这一点?

编辑:

实际上在我的上下文中它不是一个文本框,它是一个 DataGridTextColumn。我尝试绑定IsReadOnly="{Binding IsOnlyReadable}",但这对 DataGridTextColumn 没有影响。将其固定为IsReadOnly=True有效,但将其绑定到始终为真的属性不会产生这种效果。

最后它解决了,我用它来绑定 DataGridColumn:https ://stackoverflow.com/a/27465022/9758687

4

1 回答 1

1

看看这个链接。这似乎是您正在寻找的: .Net v4 DataGridTextColumn.IsReadOnly 似乎有问题

这是可能解决您的问题的代码:

  <DataGridTextColumn>  
   <DataGridTextColumn.CellStyle>
   <Style>
     <Setter Property="UIElement.IsEnabled" Value="{Binding IsOnlyReadable}" />
   </Style>
  </DataGridTextColumn.CellStyle>
 </DataGridTextColumn>
于 2018-07-09T08:41:02.433 回答