WPF Toggle Combo Box Цвет текста элемента MVVM ReactiveUIC#

Место общения программистов C#
Ответить
Anonymous
 WPF Toggle Combo Box Цвет текста элемента MVVM ReactiveUI

Сообщение Anonymous »

Хорошо, это определенно вопрос для новичков, на который, к сожалению, не удалось найти ответ.
По сути, привязка списка объектов к Combobox, когда отключено Для свойства объекта установлено значение true. Я хочу, чтобы цвет текста элемента Combobox был серым.
Вот что у меня есть:
Тип данных элемента поля со списком

Код: Выделить всё

public class ListItem
{
public ListItem(string text)
{
Text = text;
}

public string Text { get; set; }
public bool Disabled { get; set; }
}
Настройка модели представления

Код: Выделить всё

public class MainPageViewModel : ReactiveObject
{
// In ReactiveUI, this is the syntax to declare a read-write property
// that will notify Observers, as well as WPF, that a property has
// changed. If we declared this as a normal property, we couldn't tell
// when it has changed!
private ListItem _selectedItem;
public ListItem SelectedItem
{
get => _selectedItem;
set => this.RaiseAndSetIfChanged(ref _selectedItem, value);
}

public List Items { get; set; }

public MainPageViewModel()
{
Items = new List
{
new ListItem ("A Cat"),
new ListItem ("A Dog"),
new ListItem ("A Mouse"),
new ListItem ("A Frog") { Disabled = true }
};
}
}
Привязка ReactiveUI

Код: Выделить всё

public MainPage()
{
InitializeComponent();

ViewModel = new MainPageViewModel();

this.WhenActivated(d =>
{
this.OneWayBind(ViewModel, vm => vm.Items, v => v.MyComboBox.ItemsSource)
.DisposeWith(d);

this.Bind(ViewModel, vm => vm.SelectedItem, v => v.MyComboBox.SelectedItem)
.DisposeWith(d);

});
}
Разметка Xaml Любая помощь приветствуется, дайте мне знать, если вам нужна дополнительная информация.

Решение: похоже, в будущем Мне нужно протестировать пример кода, прежде чем его добавлять - в нашем реальном коде свойство Disabled установлено как доступное только для чтения, что должно мешать привязке WPF. Измените его на общедоступный и решите первую проблему: не видеть его серым! Казалось бы, если вы так долго смотрите на проблему, вы ослепляете, и это действительно так просто.
Что касается выделения серого цвета выбранным элементом, я попробую и посмотрим.

Подробнее здесь: https://stackoverflow.com/questions/734 ... reactiveui
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»