wpf 相关问题

Windows Presentation Foundation或WPF是用于在基于Windows的应用程序中呈现用户界面的子系统。

如何从 WPF 中的 ViewModel 启动故事板动画?

我一直在尝试实现菜单更改到另一个菜单之间的转换。我使用 WPF .Net 8 和 Caliburn Micro 进行 MVVM。 所以我在 MainView.xaml 中创建了故事板动画...

回答 1 投票 0

将列表<Model>转换为ObservableCollection<ViewModel>

我对 MVVM 实现相当陌生。这可能听起来像是一个重复的问题,但我找不到任何东西可以帮助我更好地理解我的基础知识......

回答 2 投票 0

WPF - 使用 ContextMenu、MVVM 和 Command 将 ListView 的项目单元格文本复制到剪贴板

我试图实现一个非常简单的任务:使用右键单击上下文菜单将 ListView 单元格的文本复制到剪贴板,但该任务在 WPF 中似乎非常复杂。我读过几个主题...

回答 1 投票 0

如何暂时禁用 WPF 解决方案中的事件?

我正在开发基于 XAML 窗口的 C# WPF 解决方案。 在其中一个窗口上,我添加了一个 DatePicker,并且我希望在两个时刻完成一些操作: 当窗口加载时 当日期我...

回答 1 投票 0

迁移到 .NET 8 后,自定义控件在 XAML 中不可见

我最近将项目从 .NET 4.8.1 迁移到 .NET 8。在我的项目中,我在 Themes.Generic.xaml ResourceDictionary 中实现了一个自定义控件,并且 C# 实现包含

回答 2 投票 0

Windows 10 上的 MSHTML DLL

我有一个使用Smith Html Editor的C#解决方案(我正在使用它的主项目上开发,所以我对这个库不太了解),它引用了MSHTML。这个工作...

回答 9 投票 0

WebView2 EnsureCoreWebView2Async 永远不会返回

在我的 WPF 应用程序中,我需要显示一个 html 字符串,并且我知道我需要在调用 NavigateToString 之前调用 EnsureCoreWebView2Async 方法,否则 CoreWebView 将为 null 并且我

回答 2 投票 0

C# HttpClient.PostAsync 并等待应用程序崩溃

我对 C# 还很陌生。我使用await 关键字来调用HttpClient 的API。 静态异步任务 CreateChannel(string channelName) { 尝试 { HttpClient客户端...

回答 2 投票 0

EF 核心在数据库访问后产生延迟

我有一个 WPF 应用程序,其中数据库视图显示在 DataGrid 中。我实现了分页。当我转到下一页时,我查询数据库并刷新视图模型中的 ObservableCollection。最新...

回答 1 投票 0

WPF 图标和 Uri

我正在尝试直接在主目录中加载项目中的图标。 为了做到这一点,我这样做: Dim uriSrc As Uri = New Uri("pack://ELE100WalkerWPF:,,,/ assemblyName;Component/Show...

回答 1 投票 0

打包 URI 和路径无法解析 WPF 中的图像

我有以下目录结构 项目 \图片 +视图.png 控制.xaml 在控件中,我有一个由以下 XAML 定义的按钮: 我有以下目录结构 Project \Images +view.png control.xaml 在控件中我有一个由以下 XAML 定义的按钮: <Button Click="Search" Grid.Column="1" Margin="0,5,5, 0" HorizontalAlignment="Right"> <Button.Template> <ControlTemplate TargetType="{x:Type Button}"> <Image Source="pack://application:,,,/images/view.png" Width="16" Height="16" ToolTip="Search" Cursor="Hand" Opacity="0.8" /> </ControlTemplate> </Button.Template> </Button> 但是,此 pack URI 方法和“/images/view.png”都不起作用。据我了解,这与这个问题提出了同样的问题。但是,我遇到了同样的错误。令人困惑的是,在 Visual Studio 2008 的设计器中,图像渲染正确,但在调用 InitializeComponent() 时,我得到: 无法将属性“Source”中的字符串“pack://application:,,,/images/view.png”转换为“System.Windows.Media.ImageSource”类型的对象。无法找到资源“images/view.png”。标记文件“RecapSpecEditControl;component/modaltreadgroupdatadialog.xaml”第 61 行第 40 行中的对象“System.Windows.Controls.ControlTemplate”出错。 我想也许有一个我必须声明的命名空间,但根据 msdn 网站我相信我不必做类似的事情。 我实际上做到了这一点,但必须将我的源设置为/ProjectName;component/images/view.png因为我将ProjectName作为引用的程序集,所以它与我在问题中引用的msdn页面上的Path:部分相同。 将“view.png”的构建操作设置为资源而不是内容,这个问题就会消失。我能够通过这种方式重现您的问题,并且当设置为资源时它可以正常工作。 Xaml.VB 从应用程序文件夹和设计页面调用图像 Private Sub LoadImages() Dim strUri As String strUri = AppDomain.CurrentDomain.BaseDirectory() & "\NavigationImages\settingsicon.png" Image2.Source = New BitmapImage(New Uri(strUri)) End Sub Xaml.VB 中的页面加载 Call LoadImages() Xaml 设计页面 Image Name="Image2"Height="32" HorizontalAlignment="Left"

回答 3 投票 0

嵌套选项卡中的 WPF Ctrl+Tab 功能 [已关闭]

在 WPF 中,当我使用 Ctrl+Tab 在 TabControl 的选项卡之间切换时,一切按预期工作,在每个选项卡之间切换。但是,当父选项卡内有嵌套选项卡时,这些嵌套选项卡

回答 1 投票 0

如何获取我在数据模板中创建的按钮名称以使用它

在 C# 和 WPF 中,我有一个在数据模板中创建的按钮。当我为按钮命名时,它无法识别或在后面的代码中看不到使用它。 我正在尝试在数据中添加一个按钮

回答 1 投票 0

更改列表框中内容呈现器的前景色

我为列表框创建了以下样式,该列表框将在某些文本旁边显示图像: <Setter Property="</desc> <question vote="24"> <p>我为列表框创建了以下样式,该列表框将在某些文本旁边显示图像:</p> <pre><code>&lt;Style x:Key=&#34;ImageListBoxStyle&#34; TargetType=&#34;{x:Type ListBox}&#34;&gt; &lt;Setter Property=&#34;SnapsToDevicePixels&#34; Value=&#34;true&#34;/&gt; &lt;Setter Property=&#34;BorderThickness&#34; Value=&#34;1&#34;/&gt; &lt;Setter Property=&#34;ScrollViewer.HorizontalScrollBarVisibility&#34; Value=&#34;Auto&#34;/&gt; &lt;Setter Property=&#34;ScrollViewer.VerticalScrollBarVisibility&#34; Value=&#34;Auto&#34;/&gt; &lt;Setter Property=&#34;ScrollViewer.CanContentScroll&#34; Value=&#34;True&#34;/&gt; &lt;Setter Property=&#34;ItemContainerStyle&#34;&gt; &lt;Setter.Value&gt; &lt;!-- Simple ListBoxItem - This is used for each Item in a ListBox. The item&#39;s content is placed in the ContentPresenter --&gt; &lt;Style TargetType=&#34;{x:Type ListBoxItem}&#34;&gt; &lt;Setter Property=&#34;SnapsToDevicePixels&#34; Value=&#34;true&#34;/&gt; &lt;Setter Property=&#34;OverridesDefaultStyle&#34; Value=&#34;true&#34;/&gt; &lt;Setter Property=&#34;VerticalContentAlignment&#34; Value=&#34;Center&#34;/&gt; &lt;Setter Property=&#34;Template&#34;&gt; &lt;Setter.Value&gt; &lt;ControlTemplate TargetType=&#34;{x:Type ListBoxItem}&#34;&gt; &lt;Grid SnapsToDevicePixels=&#34;true&#34;&gt; &lt;Border x:Name=&#34;Border&#34;&gt; &lt;Grid Height=&#34;40&#34;&gt; &lt;Grid.ColumnDefinitions&gt; &lt;ColumnDefinition Width=&#34;Auto&#34;/&gt; &lt;ColumnDefinition Width=&#34;*&#34;/&gt; &lt;/Grid.ColumnDefinitions&gt; &lt;Image x:Name=&#34;DisplayImage&#34; Source=&#34;{Binding Path=ThumbnailImage}&#34; Height=&#34;30&#34; Width=&#34;30&#34; Grid.Column=&#34;0&#34;/&gt; &lt;ContentPresenter x:Name=&#34;DisplayText&#34; HorizontalAlignment=&#34;Stretch&#34; VerticalAlignment=&#34;Center&#34; Grid.Column=&#34;1&#34;/&gt; &lt;!--&lt;ContentPresenter.Resources&gt; &lt;Style TargetType=&#34;{x:Type TextBlock}&#34;&gt; &lt;Setter Property=&#34;Foreground&#34; Value=&#34;Black&#34;/&gt; &lt;/Style&gt; &lt;/ContentPresenter.Resources&gt;--&gt; &lt;!--Content=&#34;{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=ListBox}, Path=DisplayMemberPath, Converter={StaticResource myDisplayMemberConverter}}&#34;--&gt; &lt;!--&lt;Label x:Name=&#34;Text&#34; Content=&#34;{Binding Path=FullNameAndTitle}&#34; Foreground=&#34;Black&#34; VerticalAlignment=&#34;{TemplateBinding VerticalContentAlignment}&#34; VerticalContentAlignment=&#34;Center&#34; HorizontalAlignment=&#34;Stretch&#34; Grid.Column=&#34;1&#34; Height=&#34;40&#34;/&gt;--&gt; &lt;/Grid&gt; &lt;/Border&gt; &lt;/Grid&gt; &lt;ControlTemplate.Triggers&gt; &lt;Trigger Property=&#34;IsSelected&#34; Value=&#34;true&#34;&gt; &lt;!--&lt;Setter Property=&#34;FontWeight&#34; Value=&#34;Bold&#34; TargetName=&#34;DisplayText&#34;/&gt;--&gt; &lt;!--&lt;Setter Property=&#34;Style&#34; Value=&#34;{StaticResource SelectedTextStyle}&#34; TargetName=&#34;DisplayText&#34;/&gt;--&gt; &lt;Setter Property=&#34;Background&#34; Value=&#34;DarkBlue&#34; TargetName=&#34;Border&#34;/&gt; &lt;Setter Property=&#34;Width&#34; Value=&#34;40&#34; TargetName=&#34;DisplayImage&#34;/&gt; &lt;Setter Property=&#34;Height&#34; Value=&#34;40&#34; TargetName=&#34;DisplayImage&#34;/&gt; &lt;/Trigger&gt; &lt;/ControlTemplate.Triggers&gt; &lt;/ControlTemplate&gt; &lt;/Setter.Value&gt; &lt;/Setter&gt; &lt;/Style&gt; &lt;/Setter.Value&gt; &lt;/Setter&gt; &lt;Setter Property=&#34;Template&#34;&gt; &lt;Setter.Value&gt; &lt;ControlTemplate TargetType=&#34;{x:Type ListBox}&#34;&gt; &lt;Grid&gt; &lt;Border x:Name=&#34;Border&#34; Background=&#34;{TemplateBinding Background}&#34; BorderBrush=&#34;Black&#34; BorderThickness=&#34;{TemplateBinding BorderThickness}&#34;&gt; &lt;Grid&gt; &lt;ScrollViewer Margin=&#34;1,1,1,1&#34; Focusable=&#34;false&#34; Background=&#34;{TemplateBinding Background}&#34; SnapsToDevicePixels=&#34;True&#34;&gt; &lt;StackPanel IsItemsHost=&#34;true&#34;/&gt; &lt;/ScrollViewer&gt; &lt;/Grid&gt; &lt;/Border&gt; &lt;/Grid&gt; &lt;ControlTemplate.Triggers&gt; &lt;Trigger Property=&#34;IsGrouping&#34; Value=&#34;true&#34;&gt; &lt;Setter Property=&#34;ScrollViewer.CanContentScroll&#34; Value=&#34;false&#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>我必须使用 contentpresenter,因为我正在使用 ListBox 本身的 DisplayMemberPath 过滤显示的内容(文本方面)。</p> <p>我想要做的就是在列表框中选择一个项目时将 FontWeight 设置为粗体并将前景设置为白色。</p> <p>有人遇到过这样的问题吗?我已经查看了一些相关问题,但人们已经能够使用 TextBlock 来解决他们的问题,不幸的是我不能。</p> <p>任何人可以提供的信息将不胜感激。</p> <p>干杯</p> </question> <answer tick="true" vote="56"> <p>还有另一种方法。您可以在您的<pre><code>ContentPresenter</code></pre>中添加此属性</p> <pre><code>TextBlock.Foreground=&#34;YourColour&#34; </code></pre> <p>在这种情况下,您还可以在该属性上使用动画。</p> </answer> <answer tick="false" vote="23"> <p>没关系,我自己已经设法回答这个问题,我试图修改 contentpresenter 的前景/字体粗细,它不包含前景/字体粗细的定义,我只需要做的是:</p> <pre><code>&lt;Setter Property=&#34;FontWeight&#34; Value=&#34;Bold&#34;/&gt; &lt;Setter Property=&#34;Foreground&#34; Value=&#34;White&#34;/&gt; </code></pre> <p>即删除:</p> <pre><code>TargetName=&#34;DisplayText&#34; </code></pre> </answer> <answer tick="false" vote="12"> <p>基于<a href="https://stackoverflow.com/questions/401600/how-do-i-change-the-fontfamily-on-a-contentpresenter">此相关答案</a>,我能够通过以下方式解决类似的问题:</p> <pre><code>&lt;Setter TargetName=&#34;ctContentPresenter&#34; Property=&#34;TextBlock.Foreground&#34; Value=&#34;{StaticResource StyleForeColorBrush}&#34; /&gt; </code></pre> </answer> <answer tick="false" vote="2"> <pre><code> &lt;Storyboard x:Key=&#34;Storyboard1&#34;&gt; &lt;ColorAnimationUsingKeyFrames Storyboard.TargetProperty=&#34;(TextBlock.Foreground).(SolidColorBrush.Color)&#34; Storyboard.TargetName=&#34;myContentPresenter&#34;&gt; &lt;EasingColorKeyFrame KeyTime=&#34;0&#34; Value=&#34;Black&#34;/&gt; &lt;EasingColorKeyFrame KeyTime=&#34;0:0:0.2&#34; Value=&#34;White&#34;/&gt; &lt;/ColorAnimationUsingKeyFrames&gt; &lt;/Storyboard&gt; </code></pre> </answer> <answer tick="false" vote="0"> <p>我用这个方法解决了我同样的问题</p> <p>添加文本块,然后在其上使用颜色 然后将其设为内容</p> </answer> </body></html>

回答 0 投票 0

如何制作圆角wpf形式

hi想在WPF的主窗口中使用圆角半径。但当我使用边境管制来做到这一点时,它不起作用。 我的问题是我想要我的应用程序带有圆角。我用

回答 3 投票 0

C# WPF 通知弹出用户控件作为 DLL

我正在构建一个通知弹出窗口以在我的项目中使用。 (C# WPF .NET)。 我已经构建了一个用户控件,我想将其显示在右上角,非常像 SweetAlert2,但是对于我的 c# 项目...

回答 1 投票 0

WPF RibbonButton 多行文本

我有一个WPF应用程序。我正在使用.NET 6。 我的 RibbonButton 控件中需要有两行文本。 这就是我目前正在做的事情: 我有一个 WPF 应用程序。我正在使用 .NET 6。 我的 RibbonButton 控件中需要有两行文本。 这就是我目前正在做的事情: <RibbonButton x:Name="rbName" LargeImageSource="../Resources/broom-3w.png" ToolTip="{Binding RibBtnToolTip}" Command="{Binding RibBtnCommand}" Label ="{Binding LblContent}"> </RibbonButton> 这会显示文本,但它的格式对我来说不正确。 文本会中断,但它在所有 RibbonButton 中并不一致,即它并不总是在我需要的地方中断。 文本也居中对齐。 我试过把' ' 在标签字符串中,但在 ' 之后不会显示任何文本 '. 我尝试添加一个StackPanel和两个TextBlock。 这样做不会出现编译错误,但是根本不显示任何文本,只显示图像。 <RibbonButton x:Name="rbName" LargeImageSource="../Image.png" ToolTip="{Binding RibBtnToolTip}" Command="{Binding RibBtnCommand}"> <RibbonButton.Content> <StackPanel> <TextBlock Text="{Binding Lbl1}"/> <TextBlock Text="{Binding Lbl2}"/> </StackPanel> </RibbonButton.Content> </RibbonButton> RibbonButton控件使用RibbonTwoLineText来显示文本。该属性的 HorizontalAlignment 属性在默认模板中设置(硬编码)为 Center。要更改它,您可以定义自己的自定义模板或在运行时动态设置属性。您可能还想减少默认设置为 LineHeight 的 13 属性: private void rbName_Loaded(object sender, RoutedEventArgs e) { RibbonButton btn = (RibbonButton)sender; RibbonTwoLineText text = btn.Template.FindName("TwoLineText", btn) as RibbonTwoLineText; if (text != null) { text.HorizontalAlignment = HorizontalAlignment.Left; text.LineHeight = 8; } } XAML: <RibbonButton x:Name="rbName" Loaded="rbName_Loaded" LargeImageSource="..." /> 默认情况下,LargeImageSource 的大小为 32x32,RibbonButton 控件的总高度为 66。

回答 1 投票 0

在数据模板中将列表框的左侧元素和右侧元素对齐

我有一个字符串数组。 我需要创建一个列表框,在左侧显示这些字符串,在右侧显示它们的长度。所有这些,四个项目上有交替颜色,并且必须用

回答 1 投票 0

如何使用MvvmCross在WPF应用程序中获取命令行参数?

我正在尝试使用 MvvmCross 将命令行参数传递到我的 WPF 应用程序。 我想访问 MainViewModel 中的参数。 与重写 OnStartup() 方法类似...

回答 1 投票 0

如何使用.NET 6 WPF使用EPSON TM-T70II打印票据?

我正在尝试创建一个使用 .NET 6 WPF 打印票据的程序。运行程序后,文档出现在打印队列中,但只打印一张空白页。我也尝试过使用重新...

回答 1 投票 0

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