Başlangıç ve sınıf App
bu yapıştırın:Neden (WPF) Penceresi 0,0 piksel genişliğinde değil? Boş WpfApplication ile
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
var w = new Window
{
ResizeMode = ResizeMode.NoResize,
WindowStyle = WindowStyle.None,
Background = Brushes.Transparent,
};
Console.WriteLine(w.Width);
w.Width = 0.0;
//w.MinWidth = 0.0; // makes no difference
Console.WriteLine(w.Width);
w.Show();
Console.WriteLine(w.Width);
}
Bu sadece yeni bir boş pencere (siyah çizgi) oluşturur.
Ancak pencere neden Show
penceresinin neden Width
değerini 2
?
Çıktı: Ben nerede bulabilirim Muhtemelen
NaN
0
2
bazı Windows ile ilgili sınırlama, ancak bu örneğin belgelenen msdn?
Bu, AvalonDock'ta pencere yerleştirme hesaplamasında bir hata kaynağı ve "2
" kodunun sabit olup olmadığını merak ediyordum.
Genişliği sınırlamak için 'w.MaxWidth' kullanılmaya çalışılır (' MinWidth'). – Sinatr
@Sinatr 'w.MaxWidth = 0.0 'ifadesini ekleyerek fark yaratmaz. Ayrıca, pencere daha sonra daha geniş olabilir, ancak ilk yerleştirme hesaplamaları bu _wrong veya weird_ initial 'Width' değerine güvenir. – jan
Oldukça sarsılmış ve çok sayıda hata düzeltmesinin konusu. Ama bu [burada] olur (http://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/Window.cs,aff832999c41291b). –