[英]How to avoid text on a button from being cut off in UWP xaml
我有一個 MinWidth 設置為 MinWidth="118" 的按鈕,效果很好。 但是,當我使用設置 -> 輔助功能 -> 文本大小 -> 將其更改為 200% 更改 windows 中的文本大小時,文本會占用更多空間,並且硬編碼的寬度不夠,因此文本會被截斷。 那么如何設置寬度以使文本永遠不會被切斷? 此外,我不想計算 200% 文本大小的新寬度,因為按鈕的文本可以在不進行任何代碼更改的情況下更改,因為該文本是服務交付的。 那么有沒有辦法設置寬度,使按鈕上的文本永遠不會被切斷?
<Button
MinWidth="118"
MinHeight="30"
HorizontalAlignment="Left"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
AutomationProperties.Name="{x:Bind ViewModel.PrimaryActionAutomationName, Mode=OneWay}"
BorderThickness="1"
Click="{x:Bind ViewModel.InvokePrimaryAction}"
Content="{x:Bind ViewModel.PrimaryAction, Mode=OneWay}"
CornerRadius="3"
Style="{StaticResource AccentButtonStyle}" />
謝謝
那么有沒有辦法設置寬度,使按鈕上的文本永遠不會被切斷?
不, Button
控件沒有這樣的內置功能。 您仍然需要自己管理Button
寬度。 處理DisplayInformation.DpiChanged 事件並獲取當前的ResolutionScale值。 然后您可以根據該值更改寬度。
public MainPage()
{
this.InitializeComponent();
DisplayInformation displayInformation = DisplayInformation.GetForCurrentView();
displayInformation.DpiChanged += DisplayInformation_DpiChanged;
}
private void DisplayInformation_DpiChanged(DisplayInformation sender, object args)
{
DisplayInformation displayInformation = DisplayInformation.GetForCurrentView();
ResolutionScale scale = displayInformation.ResolutionScale;
switch (scale)
{
case ResolutionScale.Scale100Percent:
//your logic
break;
case ResolutionScale.Scale200Percent:
// your logic
break;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.