0

这是应该发生的步骤

  1. 新的 UC 加载并在我的 exe 中生成证书

  2. 该证书的地址显示在文本框中(如下所述)

    所有这些步骤都在 UC 加载时发生。

  3. 我需要一个复制该文本框路径的复制按钮。

我正在使用下面的代码,但由于 UC 加载复制按钮被禁用。为什么?

<TextBox Grid.Column="1"  HorizontalAlignment="Stretch" Name="label1" VerticalAlignment="Stretch" Foreground="#FFF20C0C" IsManipulationEnabled="False" IsTabStop="False" IsUndoEnabled="False" BorderThickness="0" Background="{StaticResource {x:Static SystemColors.ControlBrushKey}}" TextWrapping="Wrap" IsReadOnly="True">

<Button Grid.Row="2" Height="Auto" Width="Auto
            " Command="Copy" Content="Copy certificate address" HorizontalAlignment="Left" VerticalAlignment="Center" CommandTarget="{Binding ElementName=label1}"/>
4

2 回答 2

1

我假设您正在尝试使用ApplicationCommands.Copy。如果是这样,那么如果按钮位于 aToolBar或之外,则复制按钮将始终显示为灰色Menu。默认情况下,应用程序命令将FocusScope在用于 aToolBar或时接收Menu;否则,FocusScope将需要手动设置。

与其深入细节,请参阅 SO 问题:Copy Property to Clipboard

于 2012-06-04T15:30:39.923 回答
1

处理按钮的单击事件并在那里制作副本。它应该是这样的:

ButtonClickHandler(object sender, EventArgs e) 
{
   Clipboard.SetText(label1.Text);
}

Clipboard.SetText() 应该将 label1 的文本复制到 Windows 剪贴板。

于 2012-06-04T14:55:26.500 回答