Как получить строку из c# кода в XAML (WPF) - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь передать строку из моего C# кода в мой XAML, но не могу найти способ сделать это

Мой C# код

public string demoColour= "#FFFFFF";

Мой код XAML

...
<Trigger Property="IsMouseOver" Value="True">
    <Setter Property="Background" TargetName="Bd" Value="{ NOT SURE WHAT GOES HERE :( }"/>
</Trigger>                            
...

1 Ответ

2 голосов
/ 11 февраля 2020

Как сказал Клемс, вам стоит взглянуть на привязку данных. Привязка данных - это действительно важная вещь в WPF.

Но вот одно решение, которое прекрасно работает:

  1. Создайте новый класс с именем ViewModel
  2. Добавьте свойство к этому классу, как public string MyColor { get; set; } = "#FFFFFF";
  3. Установите DataContext в вашем XAML:
    <Window.DataContext>
        <local:ViewModel/>
    </Window.DataContext>
Свяжите свою собственность со своим XAML, где хотите. Например:
    <Window.Resources>
        <Style TargetType="Button">
            <Setter Property="Background" Value="{Binding MyColor}"/>
        </Style>
    </Window.Resources>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...