那是我的xaml:
<CheckBox Content="Length" IsChecked="{Binding Path=MessageLengthChecked}" x:Name="LengthCheckBox"/>
<TextBox x:Name="LengthTextBox" Text="{Binding Length}" IsEnabled="{Binding ElementName=LengthCheckBox, Path=IsChecked}"/>
如果用户选中该复选框,则应该关注文本框并标记内容。 我怎么能这样做?
答案 0 :(得分:1)
您可以执行此操作,即复选框中的已检查事件
LengthTextBox.Focus();
LengthTextBox.SelectAll();
答案 1 :(得分:0)
将控件包含在父容器中,比如网格,然后触发数据触发器来设置聚焦元素。
<Grid>
<Grid.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding MessageLengthChecked}" Value="True">
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=LengthTextBox}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
<CheckBox Content="Length" IsChecked="{Binding Path=MessageLengthChecked}" x:Name="LengthCheckBox"/>
<TextBox x:Name="LengthTextBox" Text="{Binding Length}" IsEnabled="{Binding ElementName=LengthCheckBox, Path=IsChecked}"/>
</Grid>
答案 2 :(得分:0)
在XAML中为checkBox添加偶数
<CheckBox Content="CheckBox" Name="myCheckBox" Checked="myCheckBox_Checked" />
通过c#代码试试这个:
private void myCheckBox_Checked(object sender, RoutedEventArgs e)
{
if (((CheckBox)sender).IsChecked == true)
{
myTextBox.Focus();
myTextBox.SelectAll();
}
else
{
//TODO
}
}