wpf 相关问题

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

WPF LiveCharts 未显示。为什么?

我有一个WPF项目,我试图在充当封面的页面上显示图形。我以 YouTube 上的一个示例为指导,它们在设计时显示,但在运行时不显示。 我错过了什么...

回答 1 投票 0

如何绑定列表视图的组合框的值,并将其包含在 wpf mvvm 视图模型中

我有两堂课: 公共类订单:ObservableCollection { 公共秩序() { 添加(“第一个”); 添加(“第二个”); 添加(“第三个”); ...

回答 1 投票 0

Wpf根据build设置控件背景色

我有一个组合框,我通过编辑模板来设置背景颜色。该模板位于资源字典文件中。我有两种不同的构建配置,想设置...

回答 1 投票 0

WPF 获取当前图像 URL 作为字符串

我想获取当前图像路径并将其保存在变量中以与图像路径数组进行比较。如何将图像路径转换为字符串进行比较,然后将图像设置为下一个路径...

回答 1 投票 0

将选定且未聚焦的列表框样式更改为不灰显

我有一个非常简单的 WPF ListBox,其 SelectionMode 设置为 Multiple。 当列表框失去焦点时,真的很难判断选择了什么,因为......

回答 7 投票 0

如何在WPF中设置DataGrid的数据源?

我需要将数据库中的表设置为 WPF 中 GridGrid 的数据源。在 Windows 窗体中,该属性称为 DataSource,但在 WPF 中不存在这样的属性,那么我该怎么做呢?

回答 5 投票 0

我可以添加/减去绑定到元素属性的值吗?

XAML是否允许修改绑定值? 像 Width="{Binding Elementname="lstMine", Path=Width}" -100 吗?这样我才能有一个相对的价值。

回答 3 投票 0

DataGrid 未显示数据表中的数据

所以我已经进入wpf 3天了,我无法弄清楚为什么数据表值没有显示在数据网格中,Windows窗体中的datagridview不是这种情况,这......

回答 0 投票 0

WPF条件编译资源

我的基础程序集包含一些 xaml 资源,这些资源由依赖于此基础 dll 的程序集上的某些自定义 WPF UserControl 使用,为此,我正在使用 我的基础程序集包含一些 xaml 资源,这些资源由依赖于此基础 dll 的程序集上的某些自定义 WPF UserControl 使用,为此,我正在使用 <ResourceDictionary Source="pack://application,,,/assemblyname;component/Resources.xaml"/> 我需要以不同的名称编译这个基础 dll。 由于程序集名称正在更改,因此上面的 URI 在其他 dll 上会被破坏。我想使用条件编译来更改程序集名称,因此我尝试将资源字典的定义移动到后面的代码中,执行类似的操作 ResourceDictionary res = new(); res.Source=new Uri("/assemblyname;component/Resources.xaml", UriKind.Relative); this.Resources.MergedDictionaries.Add(res); 这个想法是将这段代码封装在 #if ... #endif 中,其中程序集的名称将根据编译配置而更改。 我没有成功。有人可以提供实现此动态资源的选项吗?谢谢 一个有效的解决方案是最终在 App.xaml.cs 中加载资源,因此将我的问题后面的代码从控件的构造函数移动到 App.xaml.cs ,它在运行时解决了问题,但随后控件在设计时不太好。我使用以下方法找到了问题的解决方案:将 uri 移动到静态成员,这样问题就可以在运行时和设计时解决了

回答 1 投票 0

如何在WPF中动态创建数据网格?

我在 XAML 中有以下数据网格: 我在 XAML 中有以下数据网格: <DataGrid ItemsSource="{Binding View}" AutoGenerateColumns="False" IsReadOnly="True" GridLinesVisibility="None" CanUserAddRows="False" CanUserDeleteRows="False" CanUserResizeColumns="False" CanUserResizeRows="False" CanUserReorderColumns="False" > <DataGrid.ColumnHeaderStyle> <Style TargetType="{x:Type DataGridColumnHeader}"> <Setter Property="FontWeight" Value="Bold" /> <Setter Property="FontSize" Value="12" /> </Style> </DataGrid.ColumnHeaderStyle> <DataGrid.Columns> <DataGridTextColumn Header="Type" Width="200" FontSize="12" Binding="{Binding Path=Name}" /> <DataGridTemplateColumn Header="Ingredients" Width="*"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <DataGrid ItemsSource="{Binding Ingredients}" AutoGenerateColumns="False" IsReadOnly="True" GridLinesVisibility="None" CanUserAddRows="False" CanUserDeleteRows="False" CanUserResizeColumns="False" CanUserResizeRows="False" CanUserReorderColumns="False" > <DataGrid.ColumnHeaderStyle> <Style TargetType="{x:Type DataGridColumnHeader}"> <Setter Property="FontWeight" Value="Bold" /> <Setter Property="FontSize" Value="12" /> </Style> </DataGrid.ColumnHeaderStyle> <DataGrid.Columns> <DataGridTextColumn Header="Ingredients" Width="*" FontSize="12" Binding="{Binding Path=IngredientName}"/> <DataGridTextColumn Header="Quantite" Width="*" FontSize="12" Binding="{Binding Path=Qty}"/> </DataGrid.Columns> </DataGrid> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid> 我正在尝试找到一种动态创建数据网格(代码内)的方法,以便我可以创建它的多个副本并在运行时将其绑定到不同的数据源。 这可能吗?有人知道我该如何处理像这样复杂的数据网格吗? 首先,将尽可能多的不同设置移至可重用的 Styles 和 DataTemplates 中,在 DataGrid 本身中留下很少的内容: <UserControl ... > <UserControl.Resources> <Style x:Key="GridHeaderStyle" TargetType="{x:Type DataGridColumnHeader}"> <Setter Property="FontWeight" Value="Bold" /> <Setter Property="FontSize" Value="12" /> </Style> <Style x:Key="ReadOnlyGridStyle" TargetType="{x:Type DataGrid}" > <Setter Property="AutoGenerateColumns" Value="False" /> <Setter Property="IsReadOnly" Value="True" /> <Setter Property="GridLinesVisibility" Value="None" /> <Setter Property="CanUserAddRows" Value="False" /> <Setter Property="CanUserDeleteRows" Value="False" /> <Setter Property="CanUserResizeColumns" Value="False" /> <Setter Property="CanUserResizeRows" Value="False" /> <Setter Property="CanUserReorderColumns" Value="False" /> <Setter Property="ColumnHeaderStyle" Value="{StaticResource GridHeaderStyle}" /> </Style> <DataTemplate x:Key="IngredientsCellTemplate"> <DataGrid ItemsSource="{Binding Ingredients}" Style="{StaticResource ReadOnlyGridStyle}"> <DataGrid.Columns> <DataGridTextColumn Header="Ingredients" Width="*" FontSize="12" Binding="{Binding Path=IngredientName}" /> <DataGridTextColumn Header="Quantite" Width="*" FontSize="12" Binding="{Binding Path=Qty}" /> </DataGrid.Columns> </DataGrid> </DataTemplate> </UserControl.Resources> <!-- A DataGrid using our Styles: --> <DataGrid ItemsSource="{Binding View}" Style="{StaticResource ReadOnlyGridStyle}" > <DataGrid.Columns> <DataGridTextColumn Header="Type" Width="200" FontSize="12" Binding="{Binding Path=Name}" /> <DataGridTemplateColumn Header="Ingredients" Width="*" CellTemplate="{StaticResource IngredientsCellTemplate}" /> </DataGrid.Columns> </DataGrid> </UserControl> 然后使用现有样式在代码隐藏中创建新的 DataGrid 会变得更加容易: var datagrid = new DataGrid(); datagrid.Style = FindResource("ReadOnlyGridStyle") as Style; datagrid.Columns.Add(new DataGridTextColumn() { Header = "Type", Width = new DataGridLength(200), FontSize = 12, Binding = new Binding("Name") }); datagrid.Columns.Add(new DataGridTemplateColumn() { Header = "Ingredients", Width = new DataGridLength(1, DataGridLengthUnitType.Star), CellTemplate = FindResource("IngredientsCellTemplate") as DataTemplate }); datagrid.ItemsSource = ...

回答 1 投票 0

文本超出范围时显示省略号(...)按钮 WPF

我有一个宽度为100的TextBlock。当文本长度很大时,我想显示该文本块中容纳的字符以及文本旁边的一个(...)按钮来指定用途...

回答 4 投票 0

从安装位置运行应用程序时,ClickOnce 不会更新

我有一个简单的 WPF 应用程序,用于进行一些测试。 我已成功部署到桌面上的文件夹。 前任。桌面\myApp\发布 安装位置是同一文件夹。 其他设置: 有用...

回答 1 投票 0

WPF。如何从Page.xaml.cs和Page.xaml访问位于MainWindow.xaml中的MediaElement?

我的应用程序中有一个 mainwindow.xaml 和几个页面。我将 MediaElement 放在主窗口上,这样当我在页面之间切换时歌曲不会中断,我也希望能够切换...

回答 1 投票 0

为什么我的网络流不包含任何数据?

我正在尝试使用 WPF 和多线程在 C# 中编写 ChattApp,但由于某种原因我的服务器无法获取数据。 我的客户 命名空间 Chat_App.Client_Server { 内部类客户端 { ...

回答 1 投票 0

C#、WPF、将 List<string> 绑定到 DataGrid

我无法将列表绑定到 DataGrid。它应该尽可能简单。我是 WPF 新手,这是为了我的个人教育。 我有一个视图(编辑器)、视图模型(VMText)和数据(JustText)...

回答 3 投票 0

如何在 WPF 按钮中添加图像

我试图通过这样做来完成它 巴拉巴拉 我试图通过这样做来完成它 <Button> <StackPanel> <Image Source="Pictures/img.jpg" /> <TextBlock>Blablabla</TextBlock> </StackPanel> </Button> 但是我只能在项目窗口中看到它。当我启动该程序时,它就消失了。 当我尝试此操作时,我收到“PresentationFramework.dll 中的‘System.Windows.Markup.XamlParseException’”异常。 Image img = new Image{ Source = new BitmapImage(new Uri("foo.png")) }; StackPanel stackPnl = new StackPanel{ Orientation = Orientation.Horizontal, Margin = new Thickness(10) }; stackPnl.Children.Add(img); Button btn = new Button{ Content = stackPnl }; 我该怎么办? 将您的图片放入资源文件夹中。 并使用下面的代码 <Button Width="300" Height="50"> <StackPanel Orientation="Horizontal"> <Image Source="Pictures/yourimage.jpg" Width="20" Height="20"/> <TextBlock Text="Sometext" VerticalAlignment="Center" /> </StackPanel> </Button> 您可以在此处查看其他示例

回答 1 投票 0

XAML 从资源中识别对象

我想确定单击了 xaml 中的哪个形状。 为此,我通过静态资源将图像添加到 WPF: 我想确定单击了 xaml 中的哪个形状。 为此,我通过静态资源向 WPF 添加了图像: <Image Source="{StaticResource di_input}" Name="MyImage" PreviewMouseDown="OnMouseDown"> 此资源是导出的 svg: <ResourceDictionary xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <DrawingGroup x:Key="easy_xaml"> <DrawingGroup.ClipGeometry> <RectangleGeometry Rect="0.0,0.0,203.71425,107.84938"/> </DrawingGroup.ClipGeometry> <DrawingGroup Transform="1.0,0.0,0.0,1.0,-5.6774192,-3.2151276"> <GeometryDrawing Brush="#ffff6600" x:Name="Rectangle"> <GeometryDrawing.Geometry> <RectangleGeometry Rect="5.6774192,5.3225808,106.45161,69.548386"/> </GeometryDrawing.Geometry> </GeometryDrawing> </DrawingGroup> . . . <DrawingImage Drawing="{StaticResource easy_xaml}" x:Key="di_input"/> </ResourceDictionary> 我可以得到点击所落在的GeometryDrawing,但我无法识别它对应于资源中的哪个形状。我添加的 x:Name 属性/值似乎无法访问。 有没有办法访问 Name 或以某种方式区分 DrawingGroup 或 GeometryDrawing ? 感谢BionicCode的提示,我能够想出一个解决方案:自定义附加属性 属性的类别: public class ShapeId : DependencyObject { public static readonly DependencyProperty NameProperty = DependencyProperty.RegisterAttached( "Name", typeof(string), typeof(ShapeId), new PropertyMetadata(string.Empty) ); public static void SetName(UIElement element, string value) { element.SetValue(NameProperty, value ?? string.Empty); } public static string GetName(UIElement element) { return (string)element.GetValue(NameProperty); } } 添加到资源中: <ResourceDictionary . . xmlns:visu="clr-namespace:MyVisu"> . . <GeometryDrawing Brush="#ffff6600" visu:ShapeId.Name="Rectangle"> 然后可以用提取 var name = hitGeometryDrawing.GetValue(ShapeId.NameProperty) as string;

回答 1 投票 0

数据网格 WPF 中的单元格验证基于其他行中的单元格值

我想创建一个简单的时间表应用程序,其中用户可以拥有不同的角色,并且根据角色他可以更新和查看时间表。为了更新时间表,我实施了 da...

回答 1 投票 0

WPF 应用程序没有输出到控制台?

我在一个非常简单的 WPF 测试应用程序中使用 Console.WriteLine(),但是当我从命令行执行该应用程序时,我没有看到任何内容写入控制台。有谁知道是什么吗

回答 10 投票 0

根据列表视图中选择的内容更改控件的可见性

我有一个ListView,里面有一堆人,支持多选。我希望拥有它,以便当通过复选框选择一个人时,会出现其他控件 - 在此......

回答 1 投票 0

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