回答
只需簡單地作出這樣一個結合:
<Window x:Class="YourApplication.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="YourApplication"
Height="{Binding SystemParameters.PrimaryScreenHeight}"
Width="{Binding SystemParameters.PrimaryScreenWidth}">
這會調整窗體上的所有控件的大小嗎? –
這取決於你如何設計你的表單。您可以擁有修復設計,或者控件將相對於其容器調整大小。 – Fischermaen
哦有趣,我希望我知道,當我開始時,哦,好生病給它一個空白項目的測試,看看會發生什麼。所以爲了澄清,需要使控制項目的寬度和高度相對?我有這個
語法身高=「{結合SystemParameters.PrimaryScreenHeight}」提供的線索,但這樣是行不通的。 SystemParameters.PrimaryScreenHeight是靜態的,因此你應當使用:
<Window x:Class="MyApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:tools="clr-namespace:MyApp.Tools"
Height="{x:Static SystemParameters.PrimaryScreenHeight}"
Width="{x:Static SystemParameters.PrimaryScreenWidth}"
Title="{Binding Path=DisplayName}"
WindowStartupLocation="CenterScreen"
Icon="icon.ico"
>
它會適合整個屏幕。然而,您可能更喜歡適合屏幕尺寸的百分比,例如, 90%,在這種情況下,語法必須與轉換器中具有約束力的規範進行修改:
<Window x:Class="MyApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:tools="clr-namespace:MyApp.Tools"
Height="{Binding Source={x:Static SystemParameters.PrimaryScreenHeight}, Converter={tools:RatioConverter}, ConverterParameter='0.9' }"
Width="{Binding Source={x:Static SystemParameters.PrimaryScreenWidth}, Converter={tools:RatioConverter}, ConverterParameter='0.9' }"
Title="{Binding Path=DisplayName}"
WindowStartupLocation="CenterScreen"
Icon="icon.ico"
>
凡RatioConverter在這裏提出MyApp.Tools命名空間中聲明如下:
namespace MyApp.Tools {
[ValueConversion(typeof(string), typeof(string))]
public class RatioConverter : MarkupExtension, IValueConverter
{
private static RatioConverter _instance;
public RatioConverter() { }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{ // do not let the culture default to local to prevent variable outcome re decimal syntax
double size = System.Convert.ToDouble(value) * System.Convert.ToDouble(parameter,CultureInfo.InvariantCulture);
return size.ToString("G0", CultureInfo.InvariantCulture);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{ // read only converter...
throw new NotImplementedException();
}
public override object ProvideValue(IServiceProvider serviceProvider)
{
return _instance ?? (_instance = new RatioConverter());
}
}
}
凡的定義轉換器應從MarkupExtension繼承,以便直接在根元素中使用,而不需要以前的聲明作爲資源。
希望我能upvote不止一次。 – phonetagger
如何以編程方式設置'Height =「{Binding Source = {x:Static SystemParameters.PrimaryScreenHeight},Converter = {tools:RatioConverter},ConverterParameter ='0.9'}」 Width =「{Binding Source = {x:Static SystemParameters.PrimaryScreenWidth},Converter = {tools:RatioConverter},ConverterParameter ='0。9'}「' –
我同意phonetagger這是一個很好的答案,只需使它適合屏幕尺寸的一個百分比,這樣無論分辨率/顯示器尺寸如何,它都會始終適合... – AndyUK
- 1. WPF和屏幕分辨率
- 2. WPF屏幕分辨率
- 3. jQuery屏幕分辨率高度調整
- 4. 如何調整屏幕分辨率?
- 5. VBA調整屏幕分辨率
- 6. Android - 如何創建依賴於屏幕分辨率的主題?
- 7. WPF作物應用程序窗口到屏幕分辨率
- 8. 屏幕分辨率和CSS
- 9. 如何根據設備/屏幕分辨率調整屏幕?
- 10. 屏幕分辨率
- 11. 屏幕分辨率
- 12. 屏幕分辨率
- 13. 屏幕分辨率
- 14. 屏幕分辨率
- 15. 屏幕分辨率
- 16. WPF屏幕分辨率問題
- 17. WPF屏幕分辨率問題
- 18. 在C#中的屏幕分辨率 - wpf
- 19. WPF中的屏幕分辨率問題?
- 20. 根據asp.net中的屏幕分辨率調整模型彈出窗口
- 21. 屏幕分辨率和窗口小部件
- 22. iOS Sprite Kit基於屏幕分辨率調整大小sprite
- 23. 基於屏幕分辨率控制調整大小
- 24. 基於屏幕分辨率調整數據網格的大小
- 25. 基於屏幕分辨率調整工作表縮放級別
- 26. iPhone模擬器屏幕分辨率vs iPhone屏幕分辨率
- 27. wxPython:調整面板和sizer爲不同的屏幕分辨率
- 28. 使div和內容固定在更改屏幕分辨率
- 29. grails依賴分辨率
- 30. Grails依賴分辨率
爲什麼你需要這個?如果你想簡單地調整窗口大小,@Fischermaen給了你答案。但是如果你想改變字體的大小等,這是不需要的,因爲WPF已經管理這個。所有WPF渲染都在虛擬座標中工作,虛擬座標根據系統的DPI設置映射到物理像素。 –
你想讓你的窗戶的尺寸與其內容要求的尺寸完全相同嗎?然後閱讀這個類似的[問題](http://stackoverflow.com/questions/1746431/wpf-control-size-to-content)。 – dowhilefor
但我的wpf有座標集和字體大小設置等基本上軟件需要適用於不同的分辨率 –