wpf Снэк-бар не показывает сообщения - PullRequest
0 голосов
/ 24 апреля 2018

Я использую 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){...} 
...