繁体   English   中英

从TextBox开始获取GridViewColumn标头

[英]Get the GridViewColumn Header starting from a TextBox

                        <GridViewColumn Header="#ErrorRepeat1" Width="100">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBox Text="{Binding NoErrorRepeat1}"
                                             TextAlignment="Center"
                                             IsReadOnly="True"
                                             Background="{Binding IsPresentGroup1, Converter={StaticResource BoolToColorConverter}}"                                                                                          >
                                        <TextBox.ContextMenu>
                                            <ContextMenu>
                                                <MenuItem Header="Highlight Activity" Click="menuActivityFocus"/>
                                            </ContextMenu>
                                        </TextBox.ContextMenu>
                                    </TextBox>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>

我正在尝试使用以下方法从TextBox开始获取GridViewColumn标头:

 MenuItem mi = sender as MenuItem;
        var menu = mi.Parent as ContextMenu;
        if (menu != null)
        {
            TextBox tb = menu.PlacementTarget as TextBox;
            var gv = FindVisualParent<GridViewColumn>(tb);
        }

但是这种方法没有成功。

我需要一些有关如何访问GridViewColumn以获得标题内容的提示。

您可以将值绑定数据到Header属性,然后从后面的代码访问数据绑定属性。 尝试这样的事情:

<GridViewColumn Header="{Binding ColumnHeader}" Width="100">
    ...
</GridViewColumn>

...

MenuItem mi = sender as MenuItem;
var menu = mi.Parent as ContextMenu;
if (menu != null)
{
    string columnHeader = ColumnHeader;
    ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM