Я пытаюсь, чтобы диалоговое окно в DialogHost было максимально растянуто по горизонтали, без жесткого определения размера отображаемого элемента управления.
Попробовал следующее:
- установка UserControl.Hor HorizontalAligment в Stretch
- установка HorizontalContentAligment в Stretch на DialogHost
Я заметил, что если установить Width равным 6000, диалог заполняет DialogHost с помощью некоторые приятные отступы, но переполнение содержимого и правая сторона не видны.
Есть ли какой-нибудь стандартный способ добиться этого?
Я закончил этим, и это работает, но, возможно, есть лучший способ
// in ControlShowedInDialog.xaml.cs
this.WhenActivated(d =>
{
var window = Window.GetWindow(this);
window.WhenAnyValue(x => x.ActualWidth).Throttle(TimeSpan.FromMilliseconds(10), RxApp.MainThreadScheduler).Do(width => Width = width * 0.85).Subscribe().DisposeWith(d);
window.WhenAnyValue(x => x.ActualHeight).Throttle(TimeSpan.FromMilliseconds(10), RxApp.MainThreadScheduler).Do(height => Height = height * 0.75).Subscribe().DisposeWith(d);