【问题标题】:WPF TextBlock Bind to code behindWPF TextBlock 绑定到后面的代码
【发布时间】:2018-11-24 04:28:05
【问题描述】:

我有这样的 CS 代码:

public static string days(DateTime fromDate)
    {
       switch (fromDate.DayOfWeek)
        {
            //Weekdays
            case DayOfWeek.Monday:
                return "Wednesday";
            case DayOfWeek.Tuesday:
                return "Thursday and Friday";
            case DayOfWeek.Wednesday:
                return "Saturday";
            case DayOfWeek.Thursday:
                return "Sunday and Monday";
            case DayOfWeek.Friday:
                return "Tuesday";
            //Weekends
            default:
                return "-";
        }
    }

现在我想将它绑定到一个文本块:

<TextBlock Name="days" HorizontalAlignment="Left" Margin="625,230,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="159" Height="21" TextAlignment="Center"/>

你能帮我怎么做吗?

【问题讨论】:

  • 您只能绑定到公共属性。首先阅读:Data Binding Overview.
  • 您可以尝试使用转换器,但这会很长。不过,您仍需要 Notifiable 财产。

标签: c# wpf binding


【解决方案1】:

您在 DayNow 中创建了一个属性
public string DayNow { get; set; }
之后,为它设置值DayNow = days(DateTime.Now)
并在视图中绑定您为TextBlock 添加此属性Text="{Binding DayNow}"

【讨论】:

    【解决方案2】:

    或者直接设置TextBlockText属性:

    days.Text = days(DateTime.Now);
    

    或者从视图模型的公共属性调用 days 方法并绑定到这个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      • 2018-12-08
      • 2018-05-08
      • 1970-01-01
      相关资源
      最近更新 更多