如何在一个按钮的控制模板中把TemplateBindings改为Bindings,而不重复整个控制模板
我想在其正常的,摩托的状态和按压状态下更改按钮的背景颜色,为各种绿色阴影.我被迫将以下怪异的冗长Button.Template添加到我的按钮中,以便我可以修改RenderMouseOver>和RenderPressed属性要使用Binding而不是TemplateBinding,以便我的触发器(在Button.Style中)实际上是生效的,而不是由于TemplateBinding的编译时间性质而被忽略.无论如何,是否可以更干净地覆盖这两个属性,而不是重复整个模板绑定的整个模板? XAML下面:
8 2024-04-26
编程技术问答社区
如何在wpf中设置日历控件的Z-index?
在这里,我被困在WPF calender Control.i是在WPF中使用的calender控制 private void txtjobdate_GotFocus(object sender, RoutedEventArgs e) { calendar1.Visibility = Visibility.Visible; } 它总是在其他控件后面显示 XAML代码
4 2024-04-26
编程技术问答社区
如何知道鼠标在画布上点击了什么控件?
我正在创建C#WPF应用程序,并寻找一种方法来执行以下操作: 我有一个帆布,其中包含不同的用户控件和一个按钮. 当我单击按钮时,光标将更改为手(canvas.cursor = Cursors.Hand) 然后,如果我单击其中一个控件,我将获得一个消息框,显示了单击控件的名称(名称是控件的公共属性). 如果我单击其他地方,则我将重置光标,然后再单击按钮,然后才能再次获取名称. 我尝试玩活动和处理程序,但无法实现我想要的. 非常感谢您的帮助 解决方案 您可以使用Canvas.MouseDown并与GetPosition()一起使用GetPosition()鼠标下降事件,以获取单击的元素. public void MouseDownHandler(object sender, MouseButtonEventArgs e) {
14 2024-04-26
编程技术问答社区
网格视图或列表视图的绑定或集合的渲染
XAML中的全新蜜蜂,WPF从MVC回1周 要求: 显示客户名称和所有相应的品牌 1客户可以拥有许多品牌 发行 无法显示相应的品牌 参考 类似于线程 代码 public partial class MainWindow : Window { public MainWindow() { DataContext = new MyDeviceList(); InitializeComponent(); } } public class MyDeviceList { Entities ent = new Entities(); public ObservableCollection Customers { get; set; } public void GetCustomersBrand() { var cu
4 2024-04-26
编程技术问答社区
WPF中的Gmap.net错误
在工具箱中添加参考组件后,尝试使用组件时会发生以下错误: " 引用" gmap.net.windowspresentation,版本= 1.6.0.0,culture =中性, publicKeyToken = B8B9027B614FEF"已添加到该项目中. 从新参考中的类型类型,按OK重新启动XAML设计器. XAML设计师重新启动后,重新创建Artboard的控制." 已经重新启动了视觉工作室,但没有解决. 解决方案 这对我有用. 使用Windows Explorer查找gmap.net.core.dll和gmap.net.windowspresentation.dll 右键单击 选择属性 单击Unblock按钮
4 2024-04-26
编程技术问答社区
检查鼠标按键下拉后的时间,然后再检查鼠标按键上拉的时间。
我认为这一定只是一个小问题,但是我对此无法清楚地考虑.有人一个主意? 我在画布上有一些边界(装满了图像),我想单击边框(我使用onmouseleftbuttondown做到这一点),边框变成红色(因此用户确定他已经单击了哪个对象),然后,1或2秒后,当鼠标仍推下鼠标时,应启动拖动. 起初,我在按钮内有边界,但是Clickevent似乎与Dragevent冲突.因此,我摆脱了按钮,直接在边界内完成了所有操作,这也很好.但是,在鼠标布特顿镇(Mousebuttonup 某人是一个干净解决方案的想法? 解决方案 private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { _source = sender as Border; Mouse.Capture(_source); } private void OnMouseLeftButtonUp(object send
2 2024-04-26
编程技术问答社区
C#/WPF:与网络浏览器控件的互动?
是否可以通过使用WPF浏览器控件实时与本地或远程页面的源代码进行交互. 一个简单的示例,说明用户可以单击一个可以向所选文本进行大胆的按钮.有点像Wysiwyg HTML编辑器,但使用浏览器控件. 是否可以使用与JavaScript相同的功率与这样的源代码进行交互.是否必须设置一个系统来解析所选网页,然后修改其代码,然后重新打开浏览器控件中的新代码以模拟实时编辑的体验? 谢谢 解决方案 您可以通过WebBrowser控件具有完整的DOM访问权限,因此答案是肯定的.但是,WebBrowser控件不是WPF控件,而是Winforms控件,为了使用它,您必须使用WPF Winforms容器控件.
2 2024-04-26
编程技术问答社区
3x3网格中心中包含一条路径可填充整个网格
i具有以下我在itemScontrol中使用的控制模板.它本质上是一个3x3网格,中间有路径,其顶部是文本框/文本块.当我使用此过程时,该路径占用ItemScontrol中的所有空间,而忽略了列/行定义约束.谁能告诉我为什么会发生这种情况?我尝试将路径包裹在画布上,但这似乎没有帮助. 谢谢!
0 2024-04-26
编程技术问答社区
如何在WPF中获取/指定有关编程添加按钮的信息?或类似地,如何将自定义EventArgs传递给此类按钮点击事件?
说,作为标签,文本框,按钮部分的一部分,我在wpf应用程序上添加了一个系列按钮,并将单个处理程序附加到所有这些事件中.如何指定单击哪个按钮(与哪个部分有关),因此可以相应地处理? 附加个人处理程序无法正常工作,因为用户必须能够根据需要添加尽可能多的"行". 可能的替代方法是将信息传递给活动处理程序,例如: ... var sender = this; var args = new CustomEventArgs(sectionName); var button = new Button(); button.Click += Button_EventHandler_Click(sender, args); ,但我还没有在C#中找到一种方法. 任何帮助/想法都将不胜感激! 谢谢 解决方案 查看sender参数,它将是单击按钮. 如果您需要进一步划分按钮,则可以设置Tag属性button 的属性
2 2024-04-26
编程技术问答社区
当前位置属性没有被正确更新
让我再试一次...这是XAML.您可以看到CollectionViewSource,将其用作DataContext的网格,ListView和删除按钮.发生的事情是,当我单击listView中的一行(以及选择listViewItem的样式触发)时,该行被选择了.当我单击"删除"按钮时,onclick fires却设置为-1.是什么阻止了当前位置属性更新. xaml
0 2024-04-26
编程技术问答社区
在WPF中使用richtextbox作为显示文本的聊天窗口存在文本定制问题
我正在制作一个C#WPF聊天使者,我使用了WPF丰富的文本框来显示聊天,但是我正在尝试自定义nick并进行一些文本对齐,具有文本文本的丰富文本框是通过使用代码附加文本来制作的,i不知道如何自定义它,我正在附上一个图像以进行更多说明 我希望让这个日期对齐,我希望划痕的名称应该是蓝色的.我认为我们不能在丰富的文本框中使用HTML文本,或者是自定义文本的解决方案,我应该使用一些标签,或者什么,请让我知道更好的解决方案. 解决方案 在发送/接收到每条消息时,可以使用Flowdocument并将其附加到文档的内容(单击以获取更多信息). 其他解决方案 我认为在代码中您必须使用/b进行粗体. 因此,在这种情况下,您的代码就像 rtextbox.Text = "/bHello/b"; 让我知道它是否有效. 编辑,因为第一个解决方案不起作用: 1选择要转换的文本: rtb.select(Start , Length of string) 2创建具有正
2 2024-04-26
编程技术问答社区
如何将richtext文档的内联转换为Label
我有一个WPF RichTextbox自定义控件.并在 的RichTextbox段落中添加了不同的嵌入式. Label curToken = new Label() { Content = curTokenText }; new InlineUIContainer(curToken, insertHere); tokenList.Add(curToken); 现在,我想检索所有内联元素,然后将它们转换回UIELEMENT(在这种情况下为标签).以及所有内联文字.我该如何实现. 解决方案 您可以迭代以下等线以获取标签: List labels = new List(); foreach (var block in myRTB.Document.Blocks) { if (block is Paragraph) { var paragraph = block as Paragraph;
4 2024-04-26
编程技术问答社区
WPF-需要一个树形+网格的组合,并带有上下文菜单
我的应用程序由GridView内部的A TreeList. 令我绝望的是,我发现与广泛使用的DataGrid相比,GridView非常原始.我正在考虑以下两个选择: (1)不知何故,我用datagrid替换gridview(支持上下文菜单). (2)以某种方式,我将上下文菜单功能添加到存在的GridView. 您会推荐两种方法(或另一种方法)? 源代码非常感谢. tia. 解决方案 基于链接代码,这是解决方案: 1-添加ContextMenu作为资源: Context Menu
2 2024-04-25
编程技术问答社区
WPF数据表格刷新Displaymember路径为空
我想刷新我的datagrid并在网络上找到以下编码: dataGridView.ItemsSource = null; dataGridView.ItemsSource = ItemsSourceObjects; 它确实有效,除了字符串/列名不仅使用对象/项目本身显示. 关于为什么会发生这种情况的任何想法? 编辑:
2 2024-04-25
编程技术问答社区
如何在WPF中设置一个列表框项的字体大小?
我在WPF窗口中有A ListBox. 基于A ComboBox的选定项目,从数据库中检索ListBox项目,并将其作为listbox的ItemSource绑定. 我想更改ListBox项目的情况,即,当我绑定所有项目时,所有项目都在大写中.我想更改案件以仅大写一个单词的起始字母. 解决方案 您需要一个转换器来实现此行为. public class CaseConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { TextInfo textInfo = culture.TextInfo; return textInfo.ToTitleCase(value.ToString(
0 2024-04-25
编程技术问答社区
复选框双向绑定不工作
我想在listView中对复选框进行两种绑定.这是我的产品类: public class Product { public bool IsSelected { get; set; } public string Name { get; set; } } 在ViewModel类中,我有可观察的产品集合: private ObservableCollection _productList; public ObservableCollection ProductList { get { return _productList; } set { _productList = value; } } public MainViewModel()
0 2024-04-25
编程技术问答社区
如何添加动态控制而不是静态控制?
我有一个带有Fields Cityname,Statename和Counturlame的收藏品,并且将该收藏夹与我的WPF表格绑定在一起.我想在文本框中显示CityName,以Combobox的指标和Combobox中的complobox显示.所有的文本框和组合都应动态出现.我该如何完成这项工作? 任何人都建议我使用MVVM在WPF中动态设计此形式,但我正在尝试执行此代码,但不能正确地获得结果.我要么将所有内容都作为文本框或ComboBox,但我需要的是Textbox和Combobox,如所指定的.
4 2024-04-25
编程技术问答社区
如何找到鼠标的移动方向?
我需要从按下鼠标的那一刻起找出鼠标的方向(左右). 我只能使用事件. 使用以下方法,我无法将方向作为e.getPosition(this).x,当鼠标移动和单击时是相同的值. 任何想法如何解决? protected override void OnMouseMove(MouseEventArgs e) { currentPositionX = e.GetPosition(this).X; if (e.LeftButton == MouseButtonState.Pressed) { double deltaDirection = currentPositionX - e.GetPosition(this).X; direction = deltaDirection > 0 ? 1 : -1; } } 解决方案 您的解决方案
2 2024-04-25
编程技术问答社区