天道酬勤,学无止境

wpf

How to bind color to textbox background wpf

问题 嗨,我在使用绑定设置文本框背景颜色时遇到问题。 我使用此代码 <TextBlock Width="Auto" Height="Auto" Text="{Binding ConnectionType}" Canvas.Left="{Binding LabelPosition.X}" Canvas.Top="{Binding LabelPosition.Y}" Background="{Binding ParentCanvasColor}"> <TextBlock.RenderTransform> <TranslateTransform X="5" Y="5"/> </TextBlock.RenderTransform> </TextBlock> ParentCanvasColoris 属性在我的类中称为连接。 这个属性看起来像 public Color ParentCanvasColor { get { if (parentCanvas != null && parentCanvas is DesignerCanvasNetDiag) { return Colors.Red; } return Colors.Transparent; } } 当然,我将 Connection 类的对象添加到 textBlock 的数据上下文中 回答1 public SolidColorBrush

2022-07-11 09:54:51    分类:技术分享    wpf   binding   colors   background

How do I resolve the WPF Designer error 'The type {0} does not support direct content'.'?

问题 以下 XAML(如下)在资源中定义了一个自定义集合,并尝试使用自定义对象填充它; <UserControl x:Class="ImageListView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="300" Height="300" xmlns:local="clr-namespace:MyControls" > <UserControl.Resources> <local:MyCustomCollection x:Key="MyKey"> <local:MyCustomItem> </local:MyCustomItem> </local:MyCustomCollection> </UserControl.Resources> </UserControl> 问题是我在“类型'MyCustomCollection'不支持直接内容”的设计器中遇到错误。 我已尝试按照 MSDN 中的建议设置 ContentProperty,但无法弄清楚将其设置为什么。 我使用的自定义集合对象如下,非常简单。 我已经尝试过 Item、Items 和 MyCustomItem

2022-07-11 09:47:17    分类:技术分享    wpf   designer   contentproperty

C# WPF DataGrid Search for a Value in a Column, Return the Row Index

问题 我是 C# 开发的新手。 在编写应用程序时,我正在学习和挣扎——最好的学习方式是做:) 我希望有人能够帮助我解决我的问题。 我通过dataGrid1.ItemsSource = dt.DefaultView;填充WPF DataGrid 然后让 DataGrid 自动为我生成列。 用户可以单击 DataGrid 中的任何行,然后将使用该行的数据填充我在 WPF UI 上的标题部分 - 这允许用户通过标题编辑该行。 我不希望他们通过 DataGrid 进行编辑。 用户可以通过标题字段编辑行,然后单击更新按钮。 UPDATE 按钮将运行一个存储过程来处理记录的所有验证和更新。 保存记录后,我会启动网格刷新方法。 刷新网格后,我需要能够搜索 DataGrid 上的特定列,以便选择、设置焦点并滚动到刚刚更新的行。 我在 Google 上疯狂搜索,但在 DataGrid 上找不到如何执行此操作。 有关于如何在 DataGridView 上执行此操作的示例,这不是我正在使用的。 非常感谢任何帮助....谢谢 这是我的按钮点击代码 私人无效btn_Update_Click(对象发送者,RoutedEventArgs e){ // variables bool isOkToUpdate = true; this.Cursor = Cursors.Wait; // Validations of

2022-07-11 09:41:03    分类:技术分享    c#   wpf   datagrid

include static JS and CSS WebBrowser control

问题 我正在尝试将我的项目本地的 js 和 css 资源文件包含在作为字符串加载到 WPF WebBrowser 控件中的 html 页面上。 该项目为桌面应用程序构建一个 dll。 使用 Visual Studio 2013 和 C#。 HTML 在 WebBrowser 中加载,但我收到与包含 JS 文件相关的错误。 private void Window_Loaded(object sender, RoutedEventArgs e) { string page = GetPage(); if (page != null) { string resourcePath = System.IO.Path.GetFullPath("Resources/"); // Try setting an absolute path page = page.Replace("Resources/", resourcePath); this.webbrowser.NavigateToString(page); } } 嵌入在 html 字符串中的内容如下: <head> <script language="JavaScript" src="Resources/myscript.js"></script> <link rel="stylesheet" type="text/css" href=

2022-07-11 09:40:35    分类:技术分享    c#   wpf   webbrowser-control

How can I give ScrollContentPresenter a backgroundcolor?

问题 我创建了一个不错的滚动/缩放/平移用户控件,但现在我意识到ScrollContentPresenter没有我可以设置的背景颜色。 也就是说,当我缩小我的画布时,我的画布被缩放到一个较小的区域,并且在ScrollViewer和Canvas之间,一个区域保持完全白色,它是ScrollContentPresenter 。 有简单的解决方案吗? 一些代码来解释这一点: <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"> <Grid Name="grid" RenderTransformOrigin="0.5,0.5" Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ScrollViewer}}, Path=ActualWidth}" Height="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ScrollViewer}}, Path=ActualHeight}"> <Grid.LayoutTransform> <TransformGroup>

2022-07-11 09:37:19    分类:技术分享    wpf   scrollviewer

dockerize a wpf application and use it

问题 我正在尝试对 wpf 应用程序进行 dockerize 处理。 只是那个时候的一个简单的应用程序。 现在我得到了这个dockerfile: FROM microsoft/nanoserver WORKDIR C run "$PATH" #ENTRYPOINT ["C:\Users\TestDev\Documents\Visual Studio 2017\Projects\TestExe\TestExe\bin\Release\TestExe.exe"] RUN ["C:\Users\TestDev\Documents\Visual Studio 2017\Projects\TestExe\TestExe\bin\Release\TestExe.exe"] 我尝试使用入口点、运行和 cmd。 但是得到了这个错误: The filename, directory name, or volume label syntax is incorrect. 我想知道运行容器后它是如何工作的。 谢谢。 回答1

2022-05-17 03:50:17    分类:技术分享    wpf   docker   containers   dockerfile

WPF drag drop none effect not triggering

问题 所以我几乎遵循了我能找到的关于如何将 WPF 控件上的拖放效果设置为 None 以显示带有线条符号的圆圈的每个示例,但无济于事。 这是我从各种示例中复制的代码,对其进行修改以使其工作: 这是窗口背后的代码: using System; using System.Windows; using System.Windows.Controls; using System.Windows.Input; namespace TreeViewWithCheckBoxes { public partial class Window1 : Window { public Window1() { InitializeComponent(); FooViewModel root = this.tree.Items[0] as FooViewModel; base.CommandBindings.Add( new CommandBinding( ApplicationCommands.Undo, (sender, e) => // Execute { e.Handled = true; root.IsChecked = false; this.tree.Focus(); }, (sender, e) => // CanExecute { e.Handled = true; e.CanExecute

2022-05-17 02:54:17    分类:技术分享    wpf   drag-and-drop

What is the accepted way to get a main window with menubar and toolbar in WPF?

问题 回答1 <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="self" Title="MainWindow" Height="350" Width="525"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <Menu Grid.Row="0"> <MenuItem Header="File"> <MenuItem Header="Open" /> <MenuItem Header="Close" /> </MenuItem> </Menu> <ToolBar Grid.Row="1"> <Button Content="Foo" /> <Button Content="Bar" /> </ToolBar> </Grid> </Window>

2022-05-17 02:52:24    分类:技术分享    .net   wpf

Problems with WPF command key bindings

问题 我正在处理的项目需要快捷键来访问保存对话框,以将富文本框元素的内容转储到文件中。 我的键绑定和命令绑定是在 XAML 中完成的,但我认为后面的代码搞砸了。 我的键和命令绑定是这样设置的。 <KeyBinding Command="local:customCommands.saveFile" Key="S" Modifiers="Ctrl"/> ... <CommandBinding Command="local:customCommands.saveFile" Executed="launchSaveDialog"/> 这是 WPF 窗口背后的代码 private void launchSaveDialog(object sender, ExecutedRoutedEventArgs e) { SaveFileDialog dlg = new SaveFileDialog(); dlg.Filter = "Rich Text format(*.rtf)|*.rtf|"; dlg.DefaultExt = ".rtf"; dlg.OverwritePrompt = true; if (dlg.ShowDialog() == true) { FileStream fileStream = new FileStream(dlg.FileName, FileMode.Create)

2022-05-17 02:44:08    分类:技术分享    c#   wpf   xaml

Get value from DataContext to MarkupExtension in Style Setter

问题 我有一个WPF MarkupExtension ,用于修改ListBoxItem属性,例如背景。 此 Background 新值基于ListBoxItem.DataContext和 MarkupExtension 属性,例如 Color。 <ListBox ItemsSource="{Binding ColorfullItems}"> <ListBox.ItemContainerStyle> <Style TargetType="ListBoxItem"> <Setter Property="Background" Value="{Helpers:MyMarkupExtension Color=Blue}" /> </Style> </ListBox.ItemContainerStyle> </ListBox> 我的 MarkupExtension 是: public class MyMarkupExtension : MarkupExtension { public string Color { get; set; } public override object ProvideValue(IServiceProvider serviceProvider) { IProvideValueTarget provideValueTarget =

2022-05-17 02:29:07    分类:技术分享    c#   .net   wpf   xaml   markup-extensions