Я использую MaterialsDesigninXAML.При попытке использовать снэк-бар с методом MVVM я столкнулся с проблемой, которая препятствовала тому, чтобы снэк-бар отображал сообщение.Я включил ViewModel и связанный код XAML.Я просмотрел MaterialDesign Snackbar Wiki , но не смог увидеть то, что пропустил.
MainScreenViewModel
private SnackbarMessageQueue m_messagequeue;
public MainScreenViewModel()
{
MESSAGEQUEUE = new SnackbarMessageQueue(TimeSpan.FromMilliseconds(8000));
}
public SnackbarMessageQueue MESSAGEQUEUE { get { return m_messagequeue; } set {m_messagequeue = value; OnPropertyChanged("MESSAGEQUEUE"); } }
public void On_message_click()
{
Task.Factory.StartNew(() => MESSAGEQUEUE.Enqueue("Wow, easy!"));
}
}
MainScreen.xaml
<Button Content="message" Style="{StaticResource MaterialDesignRaisedDarkButton}" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<ei:CallMethodAction TargetObject="{Binding}"
MethodName="On_message_click"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<materialDesign:Snackbar MessageQueue="{Binding MESSAGEQUEUE}" />
Но во время работы я заметил проблему с тем, что Диспетчер не может найти закусочную.Мне интересно, почему это так, или я что-то упускаю, чтобы сообщения появлялись в закусочной.
//find a target
var snackbar = await FindSnackbar(exemplar.Dispatcher);
//show message
if (snackbar != null){...}