gpt4 book ai didi

.net - 设置驻留在 UserControl 中的 ItemsControl 的 ItemTemplate

转载 作者:行者123 更新时间:2023-12-01 01:09:01 27 4
gpt4 key购买 nike

我有一个由一些按钮和一个 ItemsControl 组成的 UserControl。在使用此控件的窗口中,我想为此 ItemsControl 设置 ItemTemplate。

我怎样才能做到这一点?

用户控件:

<UserControl x:Class="WizardTest.WizardControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
x:Name="thisControl"
Loaded="OnLoaded"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<DockPanel>
<UniformGrid DockPanel.Dock="Bottom" Columns="4">
<Button>Cancel</Button>
<Button>&lt; Back</Button>
<Button>Next &gt;</Button>
<Button>Finish</Button>
</UniformGrid>
<ItemsControl DockPanel.Dock="Left" ItemsSource="{Binding WizardPages, ElementName=thisControl}">
</ItemsControl>
</DockPanel>

窗口:

<Window x:Class="WizardTest.EigenesWizardWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WizardTest"
Title="Wizard Window" Height="300" Width="300">
<local:WizardControl WizardPages="{Binding WizardPages}">

</local:WizardControl>

最佳答案

你需要给控件一个名字:

<ItemsControl x:Name="itemsControl" ...

然后在 UserControl 的代码隐藏中,您需要公开该 ItemTemplate:

[BindableAttribute(true)]
public DataTemplate ItemTemplate
{
get { return this.itemsControl.ItemTemplate; }
set { this.itemsControl.ItemTemplate = value; }
}

然后你终于可以使用它了:

<local:WizardControl ...>
<local:WizardControl.ItemTemplate>
<DataTemplate>
...

关于.net - 设置驻留在 UserControl 中的 ItemsControl 的 ItemTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17830471/

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