【问题标题】:WPF material design Snackbar durationWPF 材料设计 Snackbar 持续时间
【发布时间】:2017-01-02 20:15:24
【问题描述】:

大家好,我想知道如何为 ButchersBoy Material Design In Xaml Toolkit 中的 Snackbar 提供持续时间,找到 herehere

没有地方说明我是否可以使用持续时间,所以也许我只是在代码中查看它?一定有一个参数允许这样做吗?

我当前的代码是这样的(后面的代码):

items.Snackbar.MessageQueue.Enqueue("Wow, easy!")

还有 XAML:

<materialDesign:Snackbar 
        HorizontalAlignment="Stretch" 
        MessageQueue="{materialDesign:MessageQueue}" 
        x:Name="Snackbar" 
        Grid.Row="1" 
        Grid.ColumnSpan="2" />

哪个有效并显示“哇,简单!”但它消失得太快了,所以这就是为什么我试图找到一种方法来对其进行持续时间。

【问题讨论】:

    标签: wpf vb.net xaml material-design-in-xaml


    【解决方案1】:

    SnackbarMessageQueue 有以下构造函数:

    public SnackbarMessageQueue(TimeSpan messageDuration)
    

    这样就可以在视图模型中创建消息队列,并进行赋值,如:

    <materialDesign:Snackbar MessageQueue="{Binding MyCustomMessageQueue}" />
    

    或者,使用后面的代码,为您的控件命名:

    <materialDesign:Snackbar x:Name="MySnackbar" />
    

    然后您可以在代码隐藏中分配一个新的小吃店:

    var myMessageQueue = new SnackbarMessageQueue(TimeSpan.FromMilliseconds(8000));
    MySnackbar.MessageQueue = myMessageQueue;
    

    将来我们可以将此添加到您示例中使用的标记扩展中,请随时在 GitHub 上提出请求。

    【讨论】:

      【解决方案2】:

      这是在 Xaml Toolkit 中为 Material Design 的 Snackbar 添加持续时间的另一种方法。

      XAML:

       <materialDesign:Snackbar 
                       IsActive="False" 
                       x:Name="SnackbarOne"  
                       MessageQueue="{materialDesign:MessageQueue}"/>
      

      代码隐藏:

       SnackbarOne.MessageQueue?.Enqueue("Wow, easy!", null, null, null, false, true, TimeSpan.FromSeconds(3));
      

      【讨论】:

        猜你喜欢
        • 2016-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-08
        • 1970-01-01
        • 2015-12-03
        • 2015-02-05
        • 2015-04-17
        相关资源
        最近更新 更多