我正在开发一个 WPF 项目。我刚刚创建了一个依赖属性。此依赖属性旨在使RichTextBox.Selection.Text
属性可绑定。
但我不能做的是RichTextBox.Selection.Text
使用相同的 DP 获取和设置数据。
如果我只想从我的RichTextBox.Selection.Text
using 绑定中获取数据,这是我使用的代码:
public class MyRichTextBox: RichTextBox
{
public static readonly DependencyProperty TextProperty = DependencyProperty.Register(
"Text",
typeof(string),
typeof(MyRichTextBox),
new PropertyMetadata(
TextPropertyCallback));
public string Text
{
get { return (string)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
public MyRichTextBox()
{
this.TextChanged += new TextChangedEventHandler(MyRichTextBox_TextChanged);
}
void MyRichTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
Text = this.Selection.Text;
}
它工作得很好,但是使用这段代码我无法从我的 ViewModel 类中发送任何数据。
所以,如果我只想RichTextBox.Selection.Text
从我的 ViewModel将数据设置为属性,我使用以下代码:
public class MyRichTextBox: RichTextBox
{
public static readonly DependencyProperty TextProperty = DependencyProperty.Register(
"Text",
typeof(string),
typeof(MyRichTextBox),
new PropertyMetadata(
TextPropertyCallback));
public string Text
{
get { return (string)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
private static void TextPropertyCallback(DependencyObject controlInstance, DependencyPropertyChangedEventArgs args)
{
MyRichTextBox instance = (MyRichTextBox)controlInstance;
instance.Selection.Text = (String)args.NewValue;
}
那么,如果我希望能够使用相同的依赖属性获取和设置数据,我该怎么办???
希望有人可以帮助我,提前tahnk你