【发布时间】:2017-08-10 10:35:20
【问题描述】:
我在其父窗口的框架内有一个 UserControl。在用户控件中,我有一个文本框,当父窗口上的按钮被切换时需要对其进行编辑。
我正在尝试使用触发器来做到这一点 用户控件.xaml
<UserControl.Resources>
<ResourceDictionary>
<Style x:Key="TextBoxEdit" TargetType="TextBox">
<Setter Property="IsReadOnly" Value="True" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, ElementName=EditButton}" Value="True">
<Setter Property="IsReadOnly" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<TextBox
x:Name="EditTextBox"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Style="{StaticResource TextBoxEdit}"
Text="Edit me" />
</Grid>
当用户控件中有一个名为 EditButton 的按钮时,这可以正常工作,但是当 EditButton 在父窗口中时是否可以这样做?
MainWindow.xaml
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<ToggleButton x:Name="EditButton" HorizontalAlignment="Center" VerticalAlignment="Top">Edit</ToggleButton>
<Frame Grid.Row="1" Source="Home.xaml" />
</Grid>
据我了解,用户控件的数据上下文将从父窗口继承,因此是否可以像绑定到按钮的触发器一样简单,或者我必须使用视图模型/按钮命令?
【问题讨论】: