gpt4 book ai didi

c# - 将按钮 XAML 更改为 C#

转载 作者:行者123 更新时间:2023-11-30 20:17:42 27 4
gpt4 key购买 nike

我有一个选项卡控件,我在其中以编程方式添加选项卡项。我希望每个选项卡项都有一个关闭按钮。通过谷歌搜索,我在下面找到了它的 XAML 代码:

<Button Content="X" Cursor="Hand" DockPanel.Dock="Right" 
Focusable="False" FontFamily="Courier" FontSize="9"
FontWeight="Bold" Margin="5,0,0,0" Width="16" Height="16" />

现在,我正在将这段代码转换为等效的 C# 代码,并努力处理一些属性。下面给出的是我到目前为止的代码。

var CloseButton = new Button()
{
Content = "X",
Focusable = false,
FontFamily = FontFamily = new System.Windows.Media.FontFamily("Courier"),
FontSize = 9,
Margin = new Thickness(5, 0, 0, 0),
Width = 16,
Height = 16
};

我需要有关 Cursor、DockPanel.Dock 等属性的帮助。非常感谢对此的任何帮助。谢谢!

最佳答案

游标是一组相当标准的类型。那里有静态类,可让您访问其中的许多类。使用 Cursors 类获取 Hand

DockPanel.Dock 是一个附加属性,它不是按钮控件的属性。您必须使用该依赖对象的属性 setter 或其他方便的方法(如果可用)。

var button = new Button
{
Content = "X",
Cursor = Cursors.Hand,
Focusable = false,
FontFamily = new FontFamily("Courier"),
FontSize = 9,
Margin = new Thickness(5, 0, 0, 0),
Width = 16,
Height = 16
};
// this is how the framework typically sets values on objects
button.SetValue(DockPanel.DockProperty, Dock.Right);
// or using the convenience method provided by the owning `DockPanel`
DockPanel.SetDock(button, Dock.Right);

然后设置绑定(bind),创建适当的绑定(bind)对象并将其传递给元素的 SetBinding 方法:

button.SetBinding(Button.CommandProperty, new Binding("DataContext.CloseCommand")
{
RelativeSource = new RelativeSource { AncestorType = typeof(TabControl) },
});
button.SetBinding(Button.CommandParameterProperty, new Binding("Header"));

关于c# - 将按钮 XAML 更改为 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43817525/

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