gpt4 book ai didi

WPF UserControls - 在 UserControl 内的按钮上设置 .Command 属性

转载 作者:行者123 更新时间:2023-12-04 03:02:38 26 4
gpt4 key购买 nike

我有一个包含按钮和其他一些控件的 UserControl:

<UserControl>
<StackPanel>
<Button x:Name="button" />
...
</StackPanel>
</UserControl>

当我创建该控件的新实例时,我想获取 Button 的 Command 属性:
<my:GreatUserControl TheButton.Command="{Binding SomeCommandHere}">
</my:GreatUserControl>

当然,“TheButton.Command”这个东西是行不通的。

所以我的问题是:使用 XAML, 如何在我的用户控件中设置按钮的 .Command 属性?

最佳答案

将依赖属性添加到您的 UserControl 并将按钮的 Command 属性绑定(bind)到该属性。

所以在你的 GreatUserControl 中:

public ICommand SomeCommand
{
get { return (ICommand)GetValue(SomeCommandProperty); }
set { SetValue(SomeCommandProperty, value); }
}

public static readonly DependencyProperty SomeCommandProperty =
DependencyProperty.Register("SomeCommand", typeof(ICommand), typeof(GreatUserControl), new UIPropertyMetadata(null));

在 GreatUserControl 的 XAML 中:
<UserControl 
x:Class="Whatever.GreatUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Name="me"
>
<Button Command="{Binding SomeCommand,ElementName=me}">Click Me!</Button>
</UserControl>

因此,您的按钮将绑定(bind)到 UserControl 本身的命令。现在您可以在父窗口中进行设置:
<my:GreatUserControl SomeCommand="{Binding SomeCommandHere}" />

关于WPF UserControls - 在 UserControl 内的按钮上设置 .Command 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2777452/

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