【发布时间】:2019-03-05 09:51:50
【问题描述】:
我创建了示例 Wpf 应用程序并安装了扩展 WPF 工具包(NuGet 包)。这是我用于显示 BusyIndicator 的 xaml 代码。
<Window x:Class="WpfApp3.Progress"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:local="clr-namespace:WpfApp3"
mc:Ignorable="d"
WindowStyle="None"
BorderThickness="0"
Title=""
VerticalAlignment="Center"
HorizontalAlignment="Center"
SizeToContent="WidthAndHeight"
d:DesignWidth="300"
d:DesignHeight="300">
<xctk:BusyIndicator IsBusy="True"
HorizontalAlignment="Center"
VerticalAlignment="Center"></xctk:BusyIndicator>
</Window>
使用此代码触发显示进度窗口:
private void Button_Click(object sender, RoutedEventArgs e)
{
Progress w = new Progress
{
Owner = Application.Current.MainWindow,
WindowStartupLocation = WindowStartupLocation.CenterOwner
};
w.Show();
}
我的问题很简单。如何在 MainWindow 屏幕中间显示 BusyIndicator。如下图所示,它没有像应有的那样居中。注意我使用SizeToContent="WidthAndHeight"
【问题讨论】:
-
这是一个基本的东西,而不是试图弄清楚如何使用它为什么不自己创建它?
-
自己创造。微调控件?如果是这么基本的事情,你能提供一个基本的答案吗
-
extToolkit:BusyIndicator 似乎只是一个带有文本框和进度条的边框。如果您自己创建它,您就可以完全控制它。但是,当使用外部工具包时,您需要依赖它是正确的,命名要标准化等。在我看来,为复杂的事情获取外部工具以节省时间是有道理的,但如果您只想显示一个进度条您应该依靠并提高您的个人技能。可能是个人意见...
-
@DenisSchaf 我同意,但如果你有时间的话,就像你提到的那样。另一件事是 BusyIndicator 用于整个应用程序。尽管通过使用 xaml 尝试不同的东西,您可以获得 Xaml 行为方式的一些基本知识。虽然关于渲染的一些事情对我来说现在和将来都是一个谜:)
标签: wpf wpftoolkit