gpt4 book ai didi

silverlight - SL4。 ElementName 绑定(bind)在 DataTemplate 中不起作用

转载 作者:行者123 更新时间:2023-12-05 00:02:27 24 4
gpt4 key购买 nike

DataTemplate 还有一个令人头疼的问题。

描述:
使用 Silverlight 4、Mvvm 等(Silverlight LOB 应用程序的标准开发工具集)。

实体列表已成功绑定(bind)到 DataGrid .一个属性(可为空的 bool BoolValue)负责实体行为,并在带有图片的数据网格中呈现,单击它会导致 LayoutRoot 元素中某些控件的可见性发生变化。

问题:
问题是,不幸或幸运的是, ElementName DataTemplate 内的绑定(bind)除了放置在此模板中的元素外,看不到其他元素。

代码示例:

<navigation:DataGridTemplateColumn Width="40"
CanUserReorder="True"
CanUserSort="False">
<navigation:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Border Background="GhostWhite">
<Grid>
<Image x:Name="ImageWithTrigger"
Grid.Column="1"
Margin="10,4,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Cursor="Hand"
Source="images/someImage.png"
Stretch="None"
Visibility={Binding BoolValue, Converter={StaticResource boolToVisibilityConverter} }>
<i.Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonDown">
<AttachedBehaviors:TrickyBehavior FrameworkElementToHide="{Binding ElementName=FirstControlOutside}"
FrameworkElementToShow="{Binding ElementName=SecoundControlOutside}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Grid>
</Border>
</DataTemplate>
</navigation:DataGridTemplateColumn.CellTemplate>
</navigation:DataGridTemplateColumn>

在上面的示例中,FrameworkElementToHide 和 FrameworkElementToShow 始终为 null。

互联网上有很多非常相似的问题和解决方案,但我还没有找到任何直接而优雅的方法来解决这个问题。

最佳答案

请看看我在这个 post 中的回答.

ElementName 绑定(bind)在 DataGrid 中不起作用.你需要一个代理来解决这个问题。但是,ElementName 绑定(bind)在正常情况下确实有效 DataTemplates ,例如ItemTemplateListBox , ETC。

关于silverlight - SL4。 ElementName 绑定(bind)在 DataTemplate 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8042442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com