Wpf 绑定时无法将文本复制到剪贴板
我在WPF应用程序中有一个绑定到组合框的textblock元素,我希望在按下按钮时将textbox文本值复制到剪贴板,但我无法在代码中获取文本值,因为我无法使用textbox名称本身引用其属性。这是我前面问题的后续 代码就在那里,所以不想扩展问题这些是简单的两行代码Wpf 绑定时无法将文本复制到剪贴板,wpf,binding,clipboard,Wpf,Binding,Clipboard,我在WPF应用程序中有一个绑定到组合框的textblock元素,我希望在按下按钮时将textbox文本值复制到剪贴板,但我无法在代码中获取文本值,因为我无法使用textbox名称本身引用其属性。这是我前面问题的后续 代码就在那里,所以不想扩展问题这些是简单的两行代码 <TextBox Grid.Column="1" Text="{Binding SelectedItem.Value, ElementName=QueryChooser}" Grid.ColumnSpan=
<TextBox Grid.Column="1"
Text="{Binding SelectedItem.Value, ElementName=QueryChooser}"
Grid.ColumnSpan="2" Grid.Row="1" Height="200" HorizontalAlignment="Left"
Name="textBlock1" VerticalAlignment="Top" Width="481" />
首先,如果您真的想进行任何WPF开发,我建议您研究一下。如果您使用的是MVVM,那么请使用。这会让你的生活变得更轻松 其次,您需要某种机制来调用数据上下文(MVVM中的视图模型)上的谓词。WPF提供命令,MVVM框架提供其他技术和变体
有了此机制后,您的
SelectedQuery
属性中就有了查询文本,因此您可以将SelectedQuery.Value
(一个字符串)复制到剪贴板。在xaml中的DataGridTemplate列中写入CopyingCellClipboardContent事件。
在此事件中,在代码隐藏中写入
if(dataGrid1.CurrentCell!=null&&dataGrid1.CurrentCell.Column==e.Column)
{dataGrid1.SelectionUnit=Microsoft.Windows.Controls.DataGridSelectionUnit.Cell;
e、 内容=((System.Data.DataRowView)(dataGrid1.CurrentCell.Item)).Row.ItemArray[4].ToString();
}
其他的
e、 内容=真实
谢谢..哇,我正在阅读此链接,这将需要很长时间才能理解所有内容。请您解释一下我目前需要为代码做些什么才能使其正常工作?如果你在代码隐藏中做所有事情,那么看看哦,那么你想让我重新初始化查询和按钮点击处理程序中的所有内容吗?原因首先,当应用程序启动时,它将开始显示xml数据源中的第一个项目,然后它将显示用户从组合框中选择的内容。可能是聊天吗?单击按钮时,您不需要初始化组合框。您说过需要将当前选定的查询复制到剪贴板?您已经有了当前选择的查询。组合框的选定项已绑定到SelectedQuery属性。因此,在按钮单击事件处理程序中访问您需要的信息。私有无效按钮3_单击(对象发送者,RoutedEventArgs e){string tbvalue;tbvalue=SelectedQuery.ToString();clipboard mycp=new clipboard();mycp=tbvalue.ToString();}“我卡在这里了”在tbvalue.ToString()处获取错误;无法将字符串类型隐式转换为mainwindow.clipboard