1

这是一个普遍的问题。并且可能不是特定于数据网格。我如何关联 2 个属性或 2 个不同的 UI 元素/控件

就像每个 datagridRow 都有一个 Expander 一样,我希望 IsExpanded 属性依赖于 datagridrow selected 事件。

谢谢

4

1 回答 1

1

相对源绑定可用于绑定两个属性,而无需按名称引用源元素。这对于样式特别有用。

下面是一个 ListBox 示例,其中包含在选中时展开的项目。

<ListBox>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Expander
                Header="{Binding}"
                IsExpanded="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListBoxItem}, Path=IsSelected}">
                <TextBlock
                    Text="{Binding}" />
            </Expander>
        </DataTemplate>
    </ListBox.ItemTemplate>

    <sys:String>a</sys:String>
    <sys:String>b</sys:String>
    <sys:String>c</sys:String>
    <sys:String>d</sys:String>

</ListBox>

当我需要一个精美的绑定时,我经常使用Nir​​在他的博客上发布的备忘单,并在 StackOverflow 问题中引用了Is there a WPF Cheat Sheet outhere?.

这是备忘单直接链接

如果你读过这篇文章,谢谢 Nir。

于 2010-03-10T15:30:45.537 回答