Я использую Nuget Willy-Kimura / SharpClipboard для извлечения данных из буфера обмена. Данные возвращаются в строку P c, но все еще не отображаются в TextBox.
TestClass:
public class TestClass : INotifyPropertyChanged
{
private SharpClipboard clipboard = new SharpClipboard();
public TestClass()
{
clipboard.ClipboardChanged += ClipboardChanged;
}
Private void ClipboardChanged(Object sender, ClipboardChangedEventArgs e)
{
if (e.ContentType == SharpClipboard.ContentTypes.Text)
{
Pc = clipboard.ClipboardText;
}
}
private string _pc;
public string Pc
{
get { return _pc; }
set { if (_pc != value) { _pc = value; OnPropertyChanged(nameof(Pc)); } }
}
}
XAML:
<TextBox Text="{Binding Pc, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Controls:TextBoxHelper.Watermark="IP/Netbios" Style="{StaticResource MainTextBox}" Grid.Column="1"/>
Что не так с привязкой в P c? У меня есть много других привязок в решении, и они отлично работают. Остальное связывание я называю с помощью icommand. Данные получают только один раз из методов. Но вот что-то получается автоматически.
Обновление - DataContext
private readonly TestClass testClass;
public MainWindow()
{
InitializeComponent();
testClass = new TestClass();
DataContext = new TestClass(DialogCoordinator.Instance);
}
My DataContext. Я не уверен, что здесь все хорошо. 2x новый TestClass - я беспокоюсь об экземпляре TestClass здесь. DialogCoordinator.Instance от MahApps.Metro.