【问题标题】:Is there a way to set the size of a snackbar when calling it in the Enqueue function (material desinge)有没有办法在 Enqueue 函数中调用它时设置小吃店的大小(材料设计)
【发布时间】:2022-10-06 14:26:45
【问题描述】:
/* -- Calling snackbar -- */
public static Snackbar getSnackbar()
{
   Snackbar snackbar = new Snackbar()
   {
      Height = 350,
      Width = 400,
      MessageQueue = new SnackbarMessageQueue(TimeSpan.FromMilliseconds(20000)),
      VerticalAlignment = VerticalAlignment.Bottom
   };

   return snackbar;
}

SnackbarMessage message = new SnackbarMessage()
   {
      Height = 350,
      Width = 400,
   };
Snackbar snackbar = getSnackbar();
snackbar.message = message;

现在当我像这样激活snackbar

snackbar.MessageQueue.Enqueue(messageGrid);

它不采用定义的宽度和高度。

当我这样激活它时:

snackbar.IsActive = true;

它采用定义的宽度和高度

有人知道我在调用.Enqueue 函数时如何定义尺寸吗?

    标签: c# wpf xaml material-design material-design-in-xaml


    【解决方案1】:

    您可以在调用 Enqueue 之前设置 Snackbar 的尺寸(已测试)

    var messageString = "my message";
    snackbar.MinWidth = 100;
    snackbar.MaxWidth = 1000;
    snackbar.Width = 200;
    snackbar.MessageQueue.Enqueue(messageString);
    

    或将 IsActive 设置为 true(已测试)

    snackbar.message = snackbarMessageObject;
    snackbar.Width = 300;
    snackbar.IsActive = true;
    

    我建议你不要使用SnackbarMessage,因为你应该考虑很多约束,比如SnackbarSnackbarMessage的Margin/Padding/Width/Height/MinWidth/MinHeight,所以有时你不会得到正确的看!

    【讨论】:

    • 是的,这适用于宽度但不适用于高度,我想用网格排队以将更多信息放入快餐栏,因此我想改变高度。
    猜你喜欢
    • 2019-07-13
    • 2016-09-09
    • 1970-01-01
    • 2020-07-25
    • 2015-07-15
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多