Hey all I am trying to figure out how I can empliment a duration for the Snackbar that comes with the ButchersBoy Material Design In Xaml Toolkit found here and here.
There is no where that states if I can use a duration or not so maybe I am just looking over it within the code? There has got to be a parameter somewhere that allows this?
My current code is this (code behind):
items.Snackbar.MessageQueue.Enqueue("Wow, easy!")
And the XAML:
<materialDesign:Snackbar
HorizontalAlignment="Stretch"
MessageQueue="{materialDesign:MessageQueue}"
x:Name="Snackbar"
Grid.Row="1"
Grid.ColumnSpan="2" />
Which does work and shows "Wow, easy!" but it goes away too quickly and so that is why I am trying to find a way to do a duration on it.
SnackbarMessageQueue has the following constructor:
public SnackbarMessageQueue(TimeSpan messageDuration)
So you can create the message queue in a view model, and assign, such as:
<materialDesign:Snackbar MessageQueue="{Binding MyCustomMessageQueue}" />
Or, using code behind, name your control:
<materialDesign:Snackbar x:Name="MySnackbar" />
And then in code-behind you can assign a new snackbar:
var myMessageQueue = new SnackbarMessageQueue(TimeSpan.FromMilliseconds(8000));
MySnackbar.MessageQueue = myMessageQueue;
In the future we could add this to the markup extension used in your example , feel free to raise a request on GitHub for this.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With