想看看有人能幫我解決這個問題嗎?從XAML元素到ViewModel(例如:1)中的值,或者從CodeBehind(例如:2)返回到像Element ... HostName.Text這樣的元素,DataBinding是否有優勢?XAML DataBinding Clarity
<TextBlock Text="{Binding HostName}" /> --- (ex:1)
<TextBlock Name="HostName" /> --- (ex:2)
POGO
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Task;
namespace AppName.Models
{
public class Contact
{
[Key]
public int Id {get; set;}
public string Team { get; set;}
public string FirstName { get; set;}
public string LastName { get; set;}
public string Phone { get; set;}
public string Email { get; set;}
public string Role { get; set;}
public string DisplayName => $"[LastName}, {FirstName}";
}
}
我不確定我完全理解這個問題。 Example1是人們稱之爲數據綁定的東西 - 視圖模型屬性綁定到控件的Text屬性。當任何一端的屬性發生更改時,VM支持屬性會更新(如果使用雙向綁定並且已實施INotifyPropertyChanged)。例2很混亂。設置HostName.Text屬性通常在您的代碼隱藏文件(但不是視圖模型)中,但這不是數據綁定。從ViewModel執行它意味着您的視圖模型需要了解您的視圖以及其中的特定文本塊。這打破了MVVM模式。 –
我修改了第二條語句,以更好地反映您的更正...我想我想了解的是您何時會選擇一種方法而不是另一種方法?例如,可以例如:2支持雙向綁定..或者是例2甚至沒有考慮綁定?我以爲這是因爲你沒有綁定到控件的Text屬性? – ekgcorp