Флажок WPF в сетке данных не запускает команду ретрансляции в модели представленияC#

Место общения программистов C#
Ответить
Anonymous
 Флажок WPF в сетке данных не запускает команду ретрансляции в модели представления

Сообщение Anonymous »


У меня есть сетка данных внутри элемента табуляции, в которой есть столбец «Шаблон данных флажка». Данные привязаны к наблюдаемой коллекции, содержащей столбец CheckboxChecked внутри класса. Когда этот элемент изменяется в классе и отображается в привязке, INotifyPropertyChanged срабатывает правильно.
Однако я пытаюсь запустить событие, подобное этому событию Binding Checkbox Click. внутри ItemsControl для просмотра модели
Я прочитал так много статей и попробовал множество решений, что не уверен, какая часть моего кода вызывает проблему.Позволь мне знаете, есть ли что-нибудь еще, что нужно знать?
Это XAML для TabItem
























Это ресурсы Windows








Это AutoDealingViewModel
namespace AutoTradingSystem_v07.ViewModel
{
public class AutoDealingViewModel : ViewModelBase
{
//This will bind to the DataGrid instead of the TestEntities
public CollectionViewSource ViewSource { get; set; }
//Notice no OnPropertyChange, just a property
private static AutoDealingViewModel instance;

public AutoDealingViewModel()
{
instance = this;
EpicParams = new ObservableCollection();
//Initialize the view source and set the source to your observable collection
this.ViewSource = new CollectionViewSource();
ViewSource.Source = EpicParams;
InitialiseViewModel();
Clicked = new RelayCommand(ExecuteClicked);
}
private void ExecuteClicked()
{
}

public ICommand Clicked { get; }
private void ExecuteClicked(object isChecked)
{
if ((bool)isChecked) { }

int I = 0;
}

public static AutoDealingViewModel getInstance()
{
return instance;
}
// Other code below

}
}

Это ViewModelBase
namespace AutoTradingSystem_v07.ViewModel
{
public abstract class ViewModelBase : INotifyPropertyChanged
{
public enum TradeSubscriptionType
{
Opu = 0,
Wou = 1,
Confirm = 2
}

public static string CurrentAccountId;
public void InitialiseViewModel()
{

SmartDispatcher smartDispatcher = (SmartDispatcher)SmartDispatcher.getInstance();
smartDispatcher.setViewModel(ApplicationViewModel.getInstance());
if (RunningEnv.RunEnvironment.Type() == "PRD")
{
_Env = "live";
}
else { _Env = "demo"; }

//Clicked = new RelayCommand(ExecuteClicked());
}
public event PropertyChangedEventHandler PropertyChanged;

protected virtual void OnPropertyChanged(string propertyName)
{
OnPropertyChanged(new PropertyChangedEventArgs(propertyName));
}

protected virtual void OnPropertyChanged(PropertyChangedEventArgs args)
{
var handler = PropertyChanged;
handler?.Invoke(this, args);
}
}
}


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

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

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

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

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

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