嘿所有我试图弄清楚如何在Xaml Toolkit中找到here和{{3}}的ButchersBoy材质设计附带的Snackbar的持续时间。
如果我可以使用持续时间,那么没有哪个状态,所以也许我只是在代码中查看它?必须有一个允许这个的参数?
我目前的代码就是这个(代码背后):
items.Snackbar.MessageQueue.Enqueue("Wow, easy!")
和XAML:
<materialDesign:Snackbar
HorizontalAlignment="Stretch"
MessageQueue="{materialDesign:MessageQueue}"
x:Name="Snackbar"
Grid.Row="1"
Grid.ColumnSpan="2" />
哪个有效并且显示&#34;哇,简单!&#34;但它消失得太快,所以这就是为什么我想找到一种方法对它进行持续时间。
答案 0 :(得分:3)
SnackbarMessageQueue具有以下构造函数:
class A(namedtuple('B', 'c')):
__slots__ = ()
因此,您可以在视图模型中创建消息队列,并分配,例如:
public SnackbarMessageQueue(TimeSpan messageDuration)
或者,使用后面的代码命名您的控件:
<materialDesign:Snackbar MessageQueue="{Binding MyCustomMessageQueue}" />
然后在代码隐藏中,您可以指定一个新的快餐栏:
<materialDesign:Snackbar x:Name="MySnackbar" />
将来我们可以将它添加到您的示例中使用的标记扩展中,随意在GitHub上为此提出请求。
答案 1 :(得分:0)
这是在 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));