亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c#中怎么使AvalonEdit MVVM兼容

c#
小億
138
2023-09-28 00:33:01
欄目: 編程語言

要使AvalonEdit與MVVM兼容,可以按照以下步驟進行操作:

  1. 創建一個用于綁定 AavalonEdit 的自定義控件,例如 AvalonEditControl

  2. AvalonEditControl 中,添加一個 Text 屬性,用于綁定 AvalonEdit 的文本內容。

  3. AvalonEditControl 中,添加一個 TextChanged 事件,用于在文本內容發生變化時觸發。

  4. AvalonEditControl 中,使用 BindingText 屬性與 AvalonEdit 的 Text 屬性進行綁定,并將 UpdateSourceTrigger 設置為 PropertyChanged,以便在每次文本內容變化時更新綁定源。

  5. AvalonEditControlTextChanged 事件處理程序中,通過 Text 屬性的設置來觸發文本內容變化的通知。

以下是示例代碼:

public class AvalonEditControl : UserControl
{
public static readonly DependencyProperty TextProperty = DependencyProperty.Register(
"Text", typeof(string), typeof(AvalonEditControl), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));
public string Text
{
get { return (string)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
public AvalonEditControl()
{
var avalonEdit = new AvalonEdit.TextEditor();
avalonEdit.SetValue(AvalonEdit.TextEditor.TextProperty, Text);
avalonEdit.TextChanged += AvalonEdit_TextChanged;
Content = avalonEdit;
}
private void AvalonEdit_TextChanged(object sender, EventArgs e)
{
var avalonEdit = (AvalonEdit.TextEditor)sender;
Text = avalonEdit.Text;
}
}

使用 MVVM 模式時,將 AvalonEditControl 添加到視圖中,并將 Text 屬性與 ViewModel 中的相應屬性進行綁定即可。

例如,假設 ViewModel 中有一個 Code 屬性,用于存儲 AvalonEdit 的文本內容:

public class MyViewModel : INotifyPropertyChanged
{
private string _code;
public string Code
{
get { return _code; }
set
{
_code = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Code)));
}
}
public event PropertyChangedEventHandler PropertyChanged;
}

在 XAML 中,可以這樣綁定 AvalonEditControl

<local:AvalonEditControl Text="{Binding Code, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />

這樣,Code 屬性的變化會自動更新到 AvalonEditControl 上,同時 AvalonEditControl 的文本內容變化也會自動更新到 Code 屬性上。

0
永平县| 德令哈市| 襄汾县| 高雄县| 留坝县| 洪江市| 新巴尔虎右旗| 石阡县| 镇沅| 鄂尔多斯市| 顺平县| 绍兴市| 永定县| 永福县| 定安县| 五家渠市| 绥芬河市| 双鸭山市| 奉化市| 灌云县| 长春市| 东阳市| 嫩江县| 扎兰屯市| 胶州市| 睢宁县| 搜索| 临沂市| 苍南县| 九寨沟县| 南澳县| 星子县| 大城县| 武平县| 聂拉木县| 连云港市| 沙田区| 城市| 永济市| 将乐县| 山西省|