首页 文章

WPF材料设计Snackbar持续时间

提问于
浏览
2

嘿所有我想弄清楚我如何能够为Xaml Toolkit中的ButchersBoy材料设计附带的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" />

哪个工作并显示“哇,容易!”但它消失得太快,所以这就是为什么我试图找到一种方法来对它进行持续时间 .

1 回答

  • 3

    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上为此提出请求 .

相关问题