xaml 相关问题

可扩展应用程序标记语言(XAML)是一种基于XML的声明式语言,用于在各种框架中初始化结构化值和对象。当问题是关于具有特定框架的XAML的使用时,还应该提供框架的标签,例如, [wpf](Windows Presentation Foundation),[silverlight],[windows-phone],[windows-store-apps](Windows 8商店应用),[win-universal-app],[xamarin.forms]或[工作流程 - 基础]

“你确定吗?”通过 powershell 中的消息框

开发者们早上好, 我正在尝试在 powershell 中创建删除功能。我想要这样的东西: 函数deleteEnv(){ $result = [System.Windows.Forms.MessageBox]::Show('是...

回答 3 投票 0

如何在 C# 中找到 Scrollviewer 的垂直滚动条宽度

我有一个 ScrollViewer,其中我显示垂直滚动条,现在在更改系统分辨率时我想获取滚动条的宽度。我在那里浏览了一篇 StackOverflow 帖子...

回答 3 投票 0

WinUI 2 - 选项卡视图隐藏麦克风

我正在尝试在我的 UWP 应用程序中创建一个具有“云母”效果的选项卡视图。我正在寻找与我从“文件”应用程序附加的图像类似的东西。 这是我当前的代码: 我正在尝试在我的 UWP 应用程序中创建一个具有“云母”效果的选项卡视图。我正在寻找与我从“文件”应用程序附加的图像类似的东西。 这是我当前的代码: <Page x:Class="InkAev.Views.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:InkAev.Views" xmlns:settings="using:InkAev.Views.SettingsViews" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:controls="using:Microsoft.UI.Xaml.Controls" mc:Ignorable="d" controls:BackdropMaterial.ApplyToRootOrPageBackground="True"> <Grid> <controls:TabView Background="Transparent" CanReorderTabs="True" IsAddTabButtonVisible="False" TabWidthMode="SizeToContent"> <controls:TabView.TabItems> <controls:TabViewItem IsClosable="False" MinWidth="0"> <controls:TabViewItem.IconSource> <controls:SymbolIconSource Symbol="Setting" /> </controls:TabViewItem.IconSource> <TextBlock Text="No Mica :("/> </controls:TabViewItem> </controls:TabView> </Grid> </Page> 我在下面附上了它所产生的图像。 感谢 Discord 上的 FrozenAssassine 帮助我。添加以下样式解决了我的问题。 <controls:TabView.Resources> <ResourceDictionary> <SolidColorBrush x:Key="TabViewItemHeaderBackgroundSelected" Color="Transparent"/> </ResourceDictionary> </controls:TabView.Resources>

回答 1 投票 0

WPF - 如何直接在 XAML 文件中设置 Bound 属性,并使用预设的固定值?

我想知道是否可以在 XAML 中设置 BOUND int 变量/属性,并在行为类似于按钮的控件中为其提供直接写入 XAML 文件中的固定值: 点击来自

回答 1 投票 0

WPF,如何通过属性更改启动StoryBoard

我正在尝试使用 PropertyChange 启动 StoryBoard。目标是在属性更改时为背景设置动画。 问题是,如何将该属性绑定到EventTrigger? 我正在尝试使用 PropertyChange 启动 StoryBoard。目标是在属性更改时为背景设置动画。 问题是,如何将属性绑定到EventTrigger? <Label> <Label.Style> <Style BasedOn="{StaticResource {x:Type Label}}" TargetType="{x:Type Label}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Label}"> <Grid> <Border x:Name="BackgroundBorder" Background="{DynamicResource EfoGreen}" /> <ContentPresenter VerticalAlignment="Center" /> </Grid> <ControlTemplate.Triggers> <EventTrigger RoutedEvent="????????????"> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetName="BackgroundBorder" Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:2"> </DoubleAnimation> </Storyboard> </BeginStoryboard> </EventTrigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </Label.Style> </Label> 我正在尝试使用 PropertyChange 启动 StoryBoard。目标是在属性更改时为背景设置动画。 问题是,如何将属性绑定到EventTrigger? 要将属性更改绑定到 XAML 中的 EventTrigger,可以使用 Microsoft.Xaml.Behaviors.Wpf 包中的 PropertyChangedTrigger。以下是实现它的方法: Install-Package Microsoft.Xaml.Behaviors.Wpf 然后,您可以使用 PropertyChangedTrigger 在属性更改时触发故事板。 <Label> <Label.Style> <Style BasedOn="{StaticResource {x:Type Label}}" TargetType="{x:Type Label}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Label}"> <Grid> <Border x:Name="BackgroundBorder" Background="{DynamicResource EfoGreen}" /> <ContentPresenter VerticalAlignment="Center" /> </Grid> <ControlTemplate.Triggers> <EventTrigger SourceName="YourSourceObject" EventName="YourEvent"> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetName="BackgroundBorder" Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:2"> </DoubleAnimation> </Storyboard> </BeginStoryboard> </EventTrigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </Label.Style> <i:Interaction.Triggers> <i:PropertyChangedTrigger Binding="{Binding YourProperty}"> <i:InvokeCommandAction Command="{Binding YourCommand}" /> </i:PropertyChangedTrigger> </i:Interaction.Triggers> </Label>

回答 1 投票 0

如何将一个控件绑定到另一个控件的相反值?

我有一个入口控件,我想将其设置为密码。我还有一个复选框控件,我想将其设置为显示密码复选框。我的 XAML 代码如下所示: 我有一个入口控件,我想将其设置为密码。我还有一个复选框控件,我想将其设置为显示密码复选框。我的 XAML 代码如下所示: <Entry Placeholder="Enter Password Viewing Password" Grid.Row="3" TextColor="White" x:Name="vwPasswrd" BindingContext="{x:Reference chkVwPasswdShow}" IsPassword="{Binding IsChecked}" Margin="20,0,0,0"/> <HorizontalStackLayout Grid.Row="3" Grid.Column="1" HorizontalOptions="Center"> <CheckBox x:Name="chkVwPasswdShow" VerticalOptions="Center"/> <Label Text="Show Password" FontSize="Micro" VerticalOptions="Center" TextColor="White"/> </HorizontalStackLayout> 但是,按照此代码的方式,复选框未选中,当用户开始在输入控件中输入数据时,将显示实际文本。单击复选框后,文本将显示为密码点。 我想反过来做: 取消选中该复选框时,我希望文本显示为密码点。 选中该复选框后,我希望文本显示为纯文本。 看来我必须以相反的方式绑定它。我该怎么做? 您可以使用 MAUI Community Toolkit 中的 InvertedBoolConverter 来实现此目的: <!-- Add converter here --> <ContentPage.Resources> <mct:InvertedBoolConverter x:Key="InvertedBoolConverter" /> </ContentPage.Resources> <Grid> <!-- use it here: --> <Entry Placeholder="Enter Password Viewing Password" Grid.Row="3" TextColor="White" x:Name="vwPasswrd" BindingContext="{x:Reference chkVwPasswdShow}" IsPassword="{Binding IsChecked, Converter={StaticResource InvertedBoolConverter}}" Margin="20,0,0,0"/> <!-- ... --> </Grid>

回答 1 投票 0

我的 WPF 应用程序无法找到资源“Mainwindow.xaml”

我一直在使用 vb.net 开发 WPF 应用程序,最近遇到了一个问题。 当我构建代码时,构建成功,但是当运行代码时,System.IO.IOexce...

回答 6 投票 0

无法通过绑定禁用条目

在我的 Maui xaml 中,我有一个最初启用的 Entry 控件,一旦用户在控件中输入了正确的值,我想以编程方式禁用它。 但事实并非如此 我的 xaml 代码看起来

回答 1 投票 0

如何使图像适合 WPF 窗口的整个背景?就像填满窗户一样

所以我尝试拉伸图像,但没有成功。不确定这是否是我想要做的,而且我在网上找不到任何有帮助的东西。 我已经尝试过这个和其他一些方法,但它们不起作用 该...

回答 1 投票 0

WPF - 全局添加 xaml 命名空间声明

我有一个相当庞大的 WPF 应用程序,其中包含大量 XAML 文件。每个 XAML 文件都有 5 到 10 个 clr 到 xml 命名空间映射 xmlns:abc="clr-namespace:Abcdef"。它看起来很糟糕并且很痛苦

回答 2 投票 0

如何将 TabBar 推入导航堆栈?

从下面 AppShell.xaml 中定义的 MainPage 中,我希望能够将 TabBar 推送到导航堆栈上,以便它有一个返回按钮以返回到 MainPage。 我的 AppShell.xaml 看起来...

回答 2 投票 0

无法看到 XAML 实时可视化树

在向微软报告之前我想在这里问一下。我有一个问题,无法看到 WinUI 3 应用程序的实时可视化树。我什至看不到应用程序内工具栏。我可以在 WPF 和 UWP 中看到

回答 3 投票 0

没有下拉按钮的WPF ComboBox

我想要一个没有下拉按钮但当我单击组合框中的文本时仍然可以打开的组合框。 这可以通过 WPF ComboBox 实现吗?

回答 4 投票 0

按钮中的多行文本,鼠标悬停在样式上触发

我有一些 wpf 按钮,当我悬停或单击它们时,我想更改它们的背景颜色,所以我创建了这种样式,效果非常好。 <question vote="0"> <p>我有一些 wpf 按钮,我想在悬停或单击它们时更改其背景颜色,所以我创建了这种样式,效果非常好。</p> <pre><code>&lt;Style x:Key=&#34;TestStyle&#34; TargetType=&#34;{x:Type Button}&#34;&gt; &lt;Setter Property=&#34;FontFamily&#34; Value=&#34;Arial&#34;/&gt; &lt;Setter Property=&#34;FontSize&#34; Value=&#34;25&#34;/&gt; &lt;Setter Property=&#34;Foreground&#34; Value=&#34;White&#34; /&gt; &lt;Setter Property=&#34;Background&#34; Value=&#34;Blue&#34; /&gt; &lt;Setter Property=&#34;HorizontalAlignment&#34; Value=&#34;Left&#34; /&gt; &lt;Setter Property=&#34;VerticalAlignment&#34; Value=&#34;Stretch&#34; /&gt; &lt;Setter Property=&#34;Width&#34; Value=&#34;100&#34; /&gt; &lt;Setter Property=&#34;Margin&#34; Value=&#34;10,0&#34; /&gt; &lt;Setter Property=&#34;Template&#34;&gt; &lt;Setter.Value&gt; &lt;ControlTemplate TargetType=&#34;{x:Type Button}&#34;&gt; &lt;Border x:Name=&#34;Border&#34; Background=&#34;{TemplateBinding Background}&#34;&gt; &lt;ContentPresenter HorizontalAlignment=&#34;Center&#34; VerticalAlignment=&#34;Center&#34; /&gt; &lt;/Border&gt; &lt;ControlTemplate.Triggers&gt; &lt;Trigger Property=&#34;IsMouseOver&#34; Value=&#34;True&#34;&gt; &lt;Setter Property=&#34;Background&#34; Value=&#34;Red&#34; /&gt; &lt;/Trigger&gt; &lt;Trigger Property=&#34;IsPressed&#34; Value=&#34;True&#34;&gt; &lt;Setter Property=&#34;Background&#34; Value=&#34;Green&#34; /&gt; &lt;/Trigger&gt; &lt;/ControlTemplate.Triggers&gt; &lt;/ControlTemplate&gt; &lt;/Setter.Value&gt; &lt;/Setter&gt; &lt;/Style&gt; </code></pre> <p>然后,我想使用以下代码向按钮添加文本环绕,也在样式中:</p> <pre><code>&lt;Style x:Key=&#34;fie&#34; TargetType=&#34;Button&#34;\&gt; &lt;Setter Property=&#34;Template&#34;\&gt; &lt;Setter.Value\&gt; &lt;ControlTemplate TargetType=&#34;{x:Type Button}&#34;\&gt; &lt;TextBlock Text=&#34;{TemplateBinding Content}&#34; FontSize=&#34;20&#34; TextWrapping=&#34;Wrap&#34;/\&gt; &lt;/ControlTemplate\&gt; &lt;/Setter.Value\&gt; &lt;/Setter\&gt; &lt;/Style\&gt; </code></pre> <p>有什么提示我怎样才能合并两者而不出现错误吗?</p> </question> <answer tick="false" vote="0"> <p>试试这个:</p> <pre><code>&lt;ControlTemplate TargetType=&#34;{x:Type Button}&#34;&gt; &lt;Border x:Name=&#34;Border&#34; Background=&#34;{TemplateBinding Background}&#34;&gt; &lt;ContentPresenter HorizontalAlignment=&#34;Center&#34; VerticalAlignment=&#34;Center&#34;&gt; &lt;ContentPresenter.Resources&gt; &lt;Style TargetType=&#34;{x:Type TextBlock}&#34;&gt; &lt;Setter Property=&#34;TextWrapping&#34; Value=&#34;Wrap&#34; /&gt; &lt;/Style&gt; &lt;/ContentPresenter.Resources&gt; &lt;/ContentPresenter&gt; &lt;/Border&gt; &lt;ControlTemplate.Triggers&gt; ... &lt;/ControlTemplate.Triggers&gt; &lt;/ControlTemplate&gt; </code></pre> </answer> </body></html>

回答 0 投票 0

在 EventTrigger (xaml) 中调用 SystemCommands.MinimizeWindowCommand

我有一个资源字典。该字典中定义了一个按钮。此按钮具有命令 SystemCommands.MinimizeWindowCommand。这是我的简化代码。 有用: 我有一个资源字典。该字典中定义了一个按钮。此按钮具有命令 SystemCommands.MinimizeWindowCommand。这是我的简化代码。 有效: <Button x:Name="PART_ButtonMinimize" Command="{Binding Source={x:Static SystemCommands.MinimizeWindowCommand}}" /> 但是我想用这个按钮调用几个命令。这些命令应该在 xaml 文件中调用,而不是通过 DependencyProperty。 这就是为什么我像这样更改了 xaml 代码(此处仅使用 ResourceDictionary 中的一个命令): <Button x:Name="PART_ButtonMinimize"> <i:Interaction.Triggers> <i:EventTrigger EventName="Click"> <i:InvokeCommandAction Command="{Binding Source={x:Static SystemCommands.MinimizeWindowCommand}}" /> </i:EventTrigger> </i:Interaction.Triggers> 但这不起作用。未调用命令 SystemCommands.MinimizeWindowCommand。 上面它有效,但在 EventTrigger 中没有反应。 如果我使用 InvokeCommandAction 调用 DependencyProperty 命令,那么它就可以工作。 所以 SystemCommands.MinimizeWindowCommand 的调用一定是原因。 有谁知道为什么?我需要改变什么? 谢谢。 InvokeCommandAction 不知道如何调用 RoutedCommand。它只调用 ICommand.Execute 这不足以执行它。 我认为这个功能没有实现,因为它是完全多余的。这是因为路由命令本质上是路由事件。将路由事件转换为路由命令(另一个路由事件)绝对没有意义。 使用交互行为很少是一个好的解决方案。它只会导致奇怪的设计决策。 WPF 提供了所有必要且强大的功能。用平常的方式处理无聊的事情并没有什么错。事件很好,不违反任何设计模式。为什么要费心添加额外的代码来将事件转换为命令? 您必须实现路由命令处理程序。也不要绑定到静态只读 RoutedCommand 属性。只需将静态 RoutedCommand 值分配给 Button.Command 属性即可。 静态 SystemCommands 类定义了路由命令,例如SystemCommands.MinimizeWindowCommand 以及关联的静态处理程序方法 SystemCommands.MinimizeWindow(Window)。 SystemCommands还为其每个命令提供了帮助器:CloseWindow()、MaximizeWindow()、MinimizeWindow()、RestoreWindow()、ShowSystemMenu()): MainWindow.xaml <Window> <Window.CommandBindings> <CommandBinding Command="{x:Static SystemCommands.MinimizeWindowCommand}" Executed="ExecuteMinimizeWindowCommand" CanExecute="CanExecuteWindowCommands" /> </Window.CommandBindings> <Button Command="{x:Static SystemCommands.MinimizeWindowCommand}" /> </Window> MainWindow.xaml.cs partial class MainWindow : Window { private void CanExecuteWindowCommands(object sender, CanExecuteRoutedEventArgs e) => e.CanExecute = true; private void ExecuteMinimizeWindowCommand(object sender, ExecutedRoutedEventArgs e) => SystemCommands.MinimizeWindow(this); } 另一种解决方案是处理 Button.Click 事件并从事件处理程序执行所有必需的操作。

回答 1 投票 0

以编程方式设置 EmbeddedResource 属性

我正在开发一个小型WPF项目,我使用SfMap组件在地图上显示shp文件。为了使它们出现,将文件添加为EmbeddedResource(我从syncfusion获得的信息)。但是...

回答 1 投票 0

如何处理查找对象的多个属性,由 ComboBox 的条目引用(如何在 SelectedValuePath 中添加多个条目)?

这是我之前关于 C# WPF 解决方案中的 ComboBox 的问题的后续。 背景:我有两个类:Pallet 和 CUnit。我有一个 Pallet 对象列表,称为 ActivePallets 和一个 ...

回答 1 投票 0

MAUI:主要和次要导航栏

因此,考虑应用程序或网站等内的导航栏,通常可以分为主要导航和辅助导航,例如: 主要和次要导航示例 正如你所看到的,我...

回答 1 投票 0

多个 BindingContext 在同一内容页面上,两个不同的视图?

我有一个 ContentPage,上面有两个 ContentView,我想为每个 ContentView 设置绑定上下文到它们各自的 ViewModel(这是我相对于一个巨大的 ViewMo 的首选灵魂...

回答 1 投票 0

如何将模板与样式绑定?

我有一个 C# WPF 应用程序,我需要在其中创建一堆具有不同颜色的图像/文本按钮。为此,我创建了一个从 Button 类派生的 ImageButton。 我希望我的按钮是圆形的

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.