WPF材质设计Snackbar持续时间

Ste*_*hRT 3 vb.net wpf xaml material-design-in-xaml

嘿,我试图弄清楚如何才能在此处此处找到ButchersBoy Xaml工具包中的材料设计器随附的Snackbar的持续时间。

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

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

items.Snackbar.MessageQueue.Enqueue("Wow, easy!")
Run Code Online (Sandbox Code Playgroud)

和XAML:

<materialDesign:Snackbar 
        HorizontalAlignment="Stretch" 
        MessageQueue="{materialDesign:MessageQueue}" 
        x:Name="Snackbar" 
        Grid.Row="1" 
        Grid.ColumnSpan="2" />
Run Code Online (Sandbox Code Playgroud)

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

Jam*_*ock 5

SnackbarMessageQueue具有以下构造函数:

public SnackbarMessageQueue(TimeSpan messageDuration)
Run Code Online (Sandbox Code Playgroud)

因此,您可以在视图模型中创建消息队列,然后进行分配,例如:

<materialDesign:Snackbar MessageQueue="{Binding MyCustomMessageQueue}" />
Run Code Online (Sandbox Code Playgroud)

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

<materialDesign:Snackbar x:Name="MySnackbar" />
Run Code Online (Sandbox Code Playgroud)

然后在代码背后,您可以分配一个新的snakebar:

var myMessageQueue = new SnackbarMessageQueue(TimeSpan.FromMilliseconds(8000));
MySnackbar.MessageQueue = myMessageQueue;
Run Code Online (Sandbox Code Playgroud)

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