Что лучше использовать? Вместо SelectionChanged использовать SelectedItem
private Game _SelectedItem;
public Game SelectedItem
{
get { return _SelectedItem; }
set { _SelectedItem = value; OnPropertyChanged(); System.Windows.MessageBox.Show(((Game)value).Creator); }
}
или все таки так
<ListBox ItemsSource="{Binding Games}" Background="#FF292D32" HorizontalContentAlignment="Stretch">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction
Command="{Binding ItemChanged}"
CommandParameter="{Binding Path=SelectedItem, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListBox}}}" />
</i:EventTrigger>
</i:Interaction.Triggers>
Что лучше использовать?- что значит лучше? – tym32167 Nov 05 '18 at 14:35OnPropertyChanged()- это норм. Вызывать во вьюмодели какие то UI вещи типа диалогового окна - это не норм и вообще неправильно. – tym32167 Nov 05 '18 at 14:44<ListBox .... SelectedItem="{Binding SelectedItem}" ....2) Сеттеры и геттеры по всем рекомендациям должны быть максимально простыми, чем проще - тем лучше. Если вы начнете писать лапшу логики в сеттерах, получите неподдерживаемую кашу в коде 3) Писать спец класс для показа окон, вызывать из модели этот классTestнет нигде в вашем вопросе, потому ответить не это нечего 3) раз, два, триСеттеры и геттеры по всем рекомендациям должны быть максимально простыми, чем проще - тем лучше. Если вы начнете писать лапшу логики в сеттерах, получите неподдерживаемую кашу в коде– tym32167 Nov 05 '18 at 15:07