WPF:绑定到绑定模式

WPF: Binding to the Binding mode

在 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}}" />

是否有可能进行此类绑定或实现此绑定的适当方法是什么?

编辑:

实际上在我的上下文中它不是 TextBox,它是 DataGridTextColumn。我尝试绑定 IsReadOnly="{Binding IsOnlyReadable}" 但这对 DataGridTextColumn 没有影响。将其固定设置为 IsReadOnly=True 有效,但将其绑定到始终为真 属性 则没有此效果。

终于解决了,我将其用于 DataGridColumn 的绑定:

看看这个link。这似乎是你要找的东西: .Net v4 DataGridTextColumn.IsReadOnly seems to be faulty

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

  <DataGridTextColumn>  
   <DataGridTextColumn.CellStyle>
   <Style>
     <Setter Property="UIElement.IsEnabled" Value="{Binding IsOnlyReadable}" />
   </Style>
  </DataGridTextColumn.CellStyle>
 </DataGridTextColumn>