誰かが私のためにこの問題を解決するのに役立つかどうか確認したいですか? XAML要素からViewModel(例:1)内の値、またはCodeBehind(例:2)からElement ...のような値へのDataBindingの利点はありますか?HostName.Text?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番目の声明を修正しました...私が理解しようとしているのは、ある方法を別の方法で選択するときでしょうか?たとえば、ex:2はTwo-Way Binding ..をサポートできますか、または例2はバインドさえ考えられていませんか?私はあなたがコントロールのTextプロパティにバインドされていないためだと思った? – ekgcorp