在WPF中,我尝试使用命令一次设置多个文本框中的所有内容。下面的代码能够在切换按钮上获得一个命令,以便文本框具有范围,但我似乎无法同时执行这两个命令。
<StackPanel>
<ToggleButton FocusManager.IsFocusScope="True" Command="EditingCommands.ToggleBold" Width="20" Height="20"></ToggleButton>
<RichTextBox Width="200" Height="200">
<RichTextBox.CommandBindings>
<CommandBinding
Command="EditingCommands.ToggleBold"
Executed="CommandBinding_Executed" CanExecute="CommandBinding_CanExecute"/>
</RichTextBox.CommandBindings>
</RichTextBox>
<RichTextBox Width="200" Height="200">
<RichTextBox.CommandBindings>
<CommandBinding
Command="EditingCommands.ToggleBold"
Executed="CommandBinding_Executed" CanExecute="CommandBinding_CanExecute"/>
</RichTextBox.CommandBindings>
</RichTextBox>
</StackPanel>
Private Sub CommandBinding_Executed(ByVal sender As System.Object, ByVal e As System.Windows.Input.ExecutedRoutedEventArgs)
DirectCast(sender, RichTextBox).SelectAll()
DirectCast(sender, RichTextBox).Selection.ApplyPropertyValue(RichTextBox.FontWeightProperty, "Bold")
e.Handled = False
End Sub
Private Sub CommandBinding_CanExecute(ByVal sender As System.Object, ByVal e As System.Windows.Input.CanExecuteRoutedEventArgs)
e.CanExecute = True
End Sub
我正在尝试用命令做什么?我不希望直接引用click_event或类似内容中的代码中的每个文本框。
感谢您的帮助!
答案 0 :(得分:0)
我会引用父容器,并查看其子类的指定类型,然后对子对象执行操作,前提是它是您想要的类型。
像
这样的东西foreach(var child in MyRootPanel.Children)
{
if (child is RichTextBox)
{
// Process whatever
}
}