デフォルトのApplicationCommandsを使用する必要があります。探している動作が得られます。を使用するToolBar
と、他に何もしなくても機能します。それ以外の場合は、FocusManager.IsFocusScopeCommandTarget
プロパティを使用するか、直接バインドする必要があります。クリップボードに何かがある場合、貼り付けボタンが有効になることに注意してください。メソッドを使用してClipBoard.Clear
、クリップボードをリセットできます。
すなわち:
例 1
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel >
<ToolBar>
<Button Command="ApplicationCommands.Copy">Copy</Button>
<Button Command="ApplicationCommands.Paste">Paste</Button>
</ToolBar>
<TextBox BorderBrush="Black" BorderThickness="2" Margin="5" TextWrapping="Wrap" />
<TextBox BorderBrush="Black" BorderThickness="2" Margin="5" TextWrapping="Wrap" />
</StackPanel >
</Window>
例 2
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel >
<TextBox BorderBrush="Black" BorderThickness="2" Margin="5" TextWrapping="Wrap" />
<TextBox BorderBrush="Black" BorderThickness="2" Margin="5" TextWrapping="Wrap" />
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" FocusManager.IsFocusScope="True" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Height="50" Command="ApplicationCommands.Copy" >Copy</Button>
<Button Grid.Column="1" Height="50" Command="ApplicationCommands.Paste">Paste</Button>
</Grid >
</StackPanel >
</Window>