Как я могу получить доступ к управлению одного окна (richtextbox) из другого окна в wpf?

Я уверен, что это - что-то очень простое, но я не могу понять это. Я искал здесь и на MSDN и не мог найти ответ. Я должен смочь установить richtextboxes выбор через richtextbox. Выбор. Выберите (TextPointer1, Textpointer2).

7
задан kapa 2 May 2012 в 22:18
поделиться

3 ответа

Application.Current содержит коллекцию всех окон в вашем приложении, вы можете получить другое окно с запросом, например

var window2 = Application.Current.Windows
    .Cast<Window>()
    .FirstOrDefault(window => window is Window2) as Window2;

, а затем вы можете ссылаться на элемент управления из своего кода, как в

var richText = window2.MyRichTextBox
16
ответ дан 6 December 2019 в 07:50
поделиться

У вас должен быть доступ к элементам управления в Window1 из кода Window2 позади, если это что ты хочешь. Сгенерированные поля по умолчанию являются внутренними .

Все, что вам нужно, это назвать элемент управления в Window1 , например:

<RichTextBox x:Name="richtextbox" ... />

В Window2 код позади:

var window = new Window1(); // or use the existing instance of Window1
window.richtextbox.Selection.Select(TextPointer1, Textpointer2);

Лучшим вариантом было бы инкапсулировать операцию выбора в метод в коде за Window1, чтобы избежать выдачи внутреннего. Тогда у вас будет:

// Window1.cs
public void Select(int param1, int param2)
{
    richtextbox.Selection.Select(param1, param2);
}

// Window2.cs
var window = new Window1(); // or use the existing instance of Window1
window.Select(TextPointer1, Textpointer2);
1
ответ дан 6 December 2019 в 07:50
поделиться

Вы не можете получить доступ к текстовому ящику из другого окна, поскольку он является частным для этого окна, однако вы можете обойти это, выставив RichTextBox как общедоступное свойство в вашем окне (взлом)

public RichTextBox RichTextBox {
  get{
    //the RichTextBox would have a property x:Name="richTextbox" in the xaml
    return richTextBox;
  }
}
2
ответ дан 6 December 2019 в 07:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: