gpt4 book ai didi

wpf - 控件模板中的模板绑定(bind)

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

我有以下控制模板。

我希望在控件中设置图像控件的源属性
使用模板绑定(bind)的模板。

但由于这是按钮控件的控件模板,而按钮控件不是
有源属性,在这种情况下我不能使用 TemplateBinding。

<ControlTemplate x:Key="BtnTemplate" TargetType="Button">
<Border CornerRadius="5" Margin="15" Cursor="Hand">
<StackPanel>
<Image Name="Img" Style="{StaticResource ImageStyle}" Source="temp.jpg" Height="100" Width="100" Margin="5"></Image>
<Label Content="{TemplateBinding Content}" Background="Transparent" Margin="2"></Label>
</StackPanel>
</Border>
</ControlTemplate>

由于我必须为不同的按钮实例设置不同的图像,因此我也无法对路径进行硬编码。

请让我知道如何处理这种情况。

最佳答案

您还没有真正说出您希望按钮的消费者如何设置源。您可以使用 Button.Tag属性,例如,然后绑定(bind)到模板中的那个。或者您可以定义自己的控件:

public class ImageButton : Button
{
// add Source dependency property a la Image
}

然后是模板:
<ControlTemplate TargetType="ImageButton">
<Border CornerRadius="5" Margin="15" Cursor="Hand">
<StackPanel>
<Image Name="Img" Style="{StaticResource ImageStyle}" Source="{TempateBinding Source}" Height="100" Width="100" Margin="5"></Image>
<Label Content="{TemplateBinding Content}" Background="Transparent" Margin="2"></Label>
</StackPanel>
</Border>
</ControlTemplate>

关于wpf - 控件模板中的模板绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4638741/

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