我在 DataForm 中有几个 ComboBoxes并试图拥有它,以便在选择特定 ComboBox 之前禁用某些 ComboBoxes。为此,我创建了一个CanEditCombo
在绑定到 DataContext 的类中命名的通知属性,并像这样配置我的 ComboBoxes:
<ComboBox ... IsEnabled="{Binding CanEditCombo, Mode=OneWay}" />
最初是错误的CanEditCombo
,但是当 DataForm 首次加载时,我的 ComboBoxes 是可编辑的。
如果我将相同的IsEnabled
绑定语法应用于我的 DataForm 中的 TextBox,它会按预期工作:起初禁用但启用一次CanEditCombo
变为 true。
这是 XAML 的示例块:
<toolkit:DataForm CurrentItem="{Binding NewProject, Mode=TwoWay}" x:Name="dfNewProject" CommandButtonsVisibility="None">
<toolkit:DataForm.EditTemplate>
<DataTemplate>
<StackPanel>
...
<toolkit:DataField>
<ComboBox ItemsSource="{Binding ProjectOptions, Mode=OneWay}"
SelectedValue="{Binding Options, Mode=TwoWay}"
DisplayMemberPath="Value"
SelectedValuePath="Key"
IsEnabled="{Binding CanEditCombo, Mode=OneWay}" />
</toolkit:DataField>
...
</StackPanel>
</DataTemplate>
</toolkit:DataForm.EditTemplate>
</toolkit:DataForm>
更重要的是,即使我在 ComboBoxIsEnabled
上方的标记中将 ComboBox 的属性硬编码为 False,仍然是可编辑的。
IsEnable
当 ComboBox 在 DataForm 中时,如何通过绑定语法设置 ComboBox 的属性?