gpt4 book ai didi

c# - 如何在 Avalonia 中绑定(bind)颜色

转载 作者:太空狗 更新时间:2023-10-29 23:20:25 27 4
gpt4 key购买 nike

在 WPF 中,如何将颜色(如背景颜色)绑定(bind)到 View 模型属性有点让人困惑。

在 Avalonia 中还有其他绑定(bind)颜色的方法吗?

或者这个例子是个好方法吗?

阿瓦隆尼亚景观

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Button.Views.MainWindow"
Title="Button" Width="700">
<StackPanel Grid.Column="2" Orientation="Vertical" Gap="8" Margin="10">
<TextBox Name="Textbox3" Text="{Binding Textbox3Text}" Foreground="{Binding Textbox3Foreground}"/>
</StackPanel>
</Window>

阿瓦隆尼亚 View 模型

public class MainWindowViewModel
{
private IBrush _textbox3Foreground;

public IBrush Textbox3Foreground
{
get { return _textbox3Foreground; }
set
{
this.RaiseAndSetIfChanged(ref _textbox3Foreground, value);
}
}

public MainWindowViewModel()
{
Textbox3Foreground = Brushes.DarkOliveGreen;
}
}

最佳答案

确保您已将窗口的 DataContext 设置为您的 View 模型类的实例:

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Button.Views.MainWindow"
Title="Button" Width="700">
<Window.DataContext>
<local:MainWindowViewModel />
</Window.DataContext>
<StackPanel Grid.Column="2" Orientation="Vertical" Gap="8" Margin="10">
<TextBox Name="Textbox3" Text="{Binding Textbox3Text}" Foreground="{Binding Textbox3Foreground}"/>
</StackPanel>
</Window>

一般来说,您通常不会在 View 模型中定义与 UI 相关的内容,例如颜色。这些东西通常直接在 View 中定义,没有任何绑定(bind)。但是您当然可以像这样绑定(bind)到 Brush 属性。

关于c# - 如何在 Avalonia 中绑定(bind)颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44315693/

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