gpt4 book ai didi

c# - 如何正确绑定(bind)到数据模板中的 Itemsource

转载 作者:行者123 更新时间:2023-12-03 10:31:49 27 4
gpt4 key购买 nike

我正在使用 ItemsControlItemContainerTemplate 中有一个对象列表...我还有一个 DataTemplate .里面DataTemplate我无法绑定(bind)到 ItemsControl.ItemSource了。

因为我不太擅长通过 Find Ancestor 进行绑定(bind)和 RelativeSource等等我尝试了一切,甚至不知道如何正确使用它们......

<ItemsControl ItemsSource="{Binding NoteList}">
<ItemsControl.ItemTemplate>
<ItemContainerTemplate>
<GroupBox Header="{Binding Title}"
Name="MyNoteList"
Style="{DynamicResource MaterialDesignCardGroupBox}"
Margin="16">
<GroupBox.HeaderTemplate>
<DataTemplate>
<DockPanel>
<TextBlock Margin="8,0,0,0"
VerticalAlignment="Center"
Style="{StaticResource MaterialDesignSubheadingTextBlock}"
Text="{Binding}" />
<Button Padding="5"
Command="{Binding DataContext.DeleteCommand, RelativeSource={RelativeSource AncestorType=UserControl}}"
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ItemsControl}}, Path=DataContext.NoteId}"
HorizontalAlignment="Right"
Background="Transparent"
BorderBrush="Transparent">
<materialDesign:PackIcon Kind="Delete"
Height="25"
Width="25"
VerticalAlignment="Center" />
</Button>
</DockPanel>
</DataTemplate>
</GroupBox.HeaderTemplate>
</GroupBox>
</ItemContainerTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>

我想提一下,我想从 NoteList 绑定(bind)到一个对象名称为 NoteId里面 CommandParameter .但我不断从中得到“空值”。我的 ViewModel 中的绑定(bind)绝对正确。所以我只需要知道如何访问 NoteId我的 NoteList 的属性(property)

最佳答案

我实际上自己解决了问题! xD!我只需要绑定(bind)到我的 ItemContainerTemplate 中的一个元素,在我的情况下为 GroupBox (见上面的代码片段)。

CommandParameter="{Binding DataContext.NoteId, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type GroupBox}}}"

关于c# - 如何正确绑定(bind)到数据模板中的 Itemsource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57018395/

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