将创建绑定时已知的值传递给处理程序



在绑定时已知Int32值sDocBaseResultDocsFieldsIndex
我需要将该值传递给事件处理程序(cc_CopyToClip)
如何传递该值
我并没有真正使用ConverterParameter-只是希望在事件处理程序中找到一种访问它的方法

Binding gvBinding = new Binding();
gvBinding.ConverterParameter = sDocBaseResultDocsFieldsIndex;
FrameworkElementFactory textblock = new FrameworkElementFactory(typeof(TextBlock));
textblock.SetValue(TextBlock.TextProperty, gvBinding);
textblock.AddHandler(TextBlock.MouseRightButtonDownEvent, new MouseButtonEventHandler(cc_CopyToClip));

背景:查看硬编码的4
这是我需要通过的值(sDocBaseResultDocsFieldsIndex)

private void cc_CopyToClip(object sender, MouseButtonEventArgs e)
{
if (sender is TextBlock)
{
TextBlock tb = (TextBlock)sender;
GabeLib.sDocBase sdB = (GabeLib.sDocBase)tb.DataContext;
if (sdB != null && sdB.DocFields != null && sdB.DocFields[4] != null)
{
MessageBox.Show(sdB.DocFields[4].DispValue);
}

要在任何FrameworkElement中保留附加值,可以使用Tag属性。创建TextBlock时设置

textblock.SetValue(FrameworkElement.TagProperty, 4)

如果你能读到

(int)tb.Tag

相关内容

  • 没有找到相关文章

最新更新