English 中文(简体)
• 如何将工具包的内容与在法典中拥有的MVVER财产联系起来?
原标题:How to bind a Tooltip s content to an MVVM property within code?

Due the nature of our software, we have to create our datagrid columns dynamically in code behind and add it then to the datagrid like this:

DataGridBoundColumn dataGridBoundColumn = new DataGridTextColumn
                                                          {
                                                              CellStyle = ...,                                                                            
                                                              Header = header,
                                                              Binding = binding
                                                          };
reportDataGrid.Columns.Add(dataGridBoundColumn);

我们现在需要一栏标题上的工具:

ToolTipService.SetToolTip(dataGridBoundColumn, "ENTER VALUE");

这样做也会奏效。 然而,我需要将工具的价值与观念Model上的财产挂钩。 我知道如何在Xaml中这样做,但不知道如何在法典中这样做。

希望得到任何帮助,

UPDATE:

由于Steve的回答,我能够稍作改动:

Binding bindingBoundToTooltipProperty = new Binding()
                                   {
                                       Source = reportDataGrid.DataContext, 
                                       Path = new PropertyPath("ToolTipSorting")
                                   };


BindingOperations.SetBinding(dataGridBoundColumn, ToolTipService.ToolTipProperty, bindingBoundToTooltipProperty);

如果数据GridColumn HeaderStyle是定制的,确保把这些内容添加到模板中:

<Trigger Property="IsMouseOver" Value="True">
    <Setter Property="ToolTip" Value="{Binding Column.(ToolTipService.ToolTip), RelativeSource={RelativeSource Self}}"/>
</Trigger>
最佳回答

你们应当能够建立如下具有约束力的机制:

BindingOperations.SetBinding(dataGridBoundColumn,
    ToolTipService.ToolTipProperty,
    new Binding("Path.To.My.Property"));

注:<代码>DataContext of this will be the Value of the Header property on the栏

You want to bind to a property on the view model; assuming that your view model is the DataContext for the DataGrid you would want to change the binding to something like:

new Binding("DataContext.ToolTipSorting")
{
    RelativeSource = new RelativeSource(RelativeSourceMode.FindAncestor)
    {
        AncestorType = typeof(DataGrid)
    }
}

试图确定第一组母物的类型:<代码>DataGrid,并抄录其<代码>的价值。

问题回答

暂无回答




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签