この記事の目標は、実行時に正確な量を知ることなく、MainWindowのキャンバスに複数の長方形をレンダリングすることです。これには、MVVM原則を使用するための柔軟な方法が必要です。
viewmodelの抽象的な長方形は、
を示しています x、y座標、サイズ属性を含む長方形の抽象化を定義するビューモデルを作成します。
アイテムコントロールとキャンバス
<code class="language-csharp">public class RectItem { public double X { get; set; } public double Y { get; set; } public double Width { get; set; } public double Height { get; set; } } public class ViewModel : INotifyPropertyChanged { public ObservableCollection<RectItem> RectItems { get; set; } = new ObservableCollection<RectItem>(); // INotifyPropertyChanged implementation (required for data binding) public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } }</code>
以上がMVVMを使用してWPFキャンバスに長方形を動的に追加および配置する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。