tl; dr
Похоже, что настройка alluctransparency на True Смеет окно и оставлено на 8 пикселей, когда мне нужно вернуть его обратно на экране. Я где -то делаю ошибку, но не уверен, почему. Я не могу опубликовать весь код, но я постараюсь написать все актуальное здесь. Это означает, что мне пришлось установить Windowsstyle на нет , и я также использовал шаблон. С самого начала у меня были проблемы, когда окно было намного больше, чем у моего рабочего стола, в то же время максимизировался. Это шло 8 пикселей от экрана со всех сторон. Я бросил шаблон и попытался изменить существующее окно в соответствии с моими потребностями. Установив AlluctTransparency обратно в False , мне удалось избавиться от утечки по бокам. Проблема, которая затем возникла, является границей в верхней части окна, которую я удалил, установив captionheight windowchrome до 0.
Хорошо, утечка исчезает. Но я считаю, что моя нынешняя проблема связана с тем, что я написал выше. То есть я не могу связать ширину и высоту с чем -то, нет подходящего свойства. Это то, что я попробовал от SystemParameters < /code>: < /p>
SystemParameters.FullPrimaryScreenHeight;
SystemParameters.FullPrimaryScreenWidth;
SystemParameters.MaximizedPrimaryScreenHeight;
SystemParameters.MaximizedPrimaryScreenWidth;
SystemParameters.PrimaryScreenHeight;
SystemParameters.PrimaryScreenWidth;
SystemParameters.WorkArea.Height;
SystemParameters.WorkArea.Width;
SystemParameters.VirtualScreenWidth;
< /code>
Фактическая требуемая высота (1048) находится где -то между SystemParameters.workarea.height < /code> (1040) и SystemParameters.maximizedPrimaryScreenHeight < /code> (1056). SystemParameters.workarea.width < /code> (1920) и SystemParameters.MaximizedPrimaryScreenWidth < /code> (1936). < /P>
Вы можете увидеть шаблон здесь. оба больше на 8 пикселей из того, что мне нужно < /li>
workarea.width и труда. Код < /strong> < /p>
....content....
< /code>
Что также не работает: < /strong> < /p>
- Window.Padding
- Window.Margin
- Window.Top
- WindowStyle="SingleBorderWindow"
< /code>
Что у меня есть, но не хочу < /strong> < /p>
XAML:
MaxWidth="{Binding MaximumWidth}"
C#
public double MaximumWidth
{
get
{
// I don't want anything hard-coded.
// Some other (correct) parameter would be fine as well,
// if we can't get the window on screen.
return SystemParameters.WorkArea.Width + 8;
}
}
< /code>
Обновление: SingleBorderWindow < /strong> < /p>
Это то, что происходит при использовании windowstyle = "singleborderwindow" < /code>. < /p>
Итак, не только мое окно 8 пикселей не хватает как к моим правым, так и в нижней части края (в то время как они не привязаны к Workarea), но и видно, что фактическое окно позади и кнопки можно щелкнуть (даже где они не визуют). Действительно странно. Как будто есть два окна, но только то, что мне нужно, не находится в правильном месте.
Подробнее здесь: https://stackoverflow.com/questions/511 ... and-height