问题标签 [xaml-binding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - WPF XAML 使用数据绑定更改多个椭圆的颜色
我目前正在创建一个 connect-4 游戏以学习 WPF 和 XAML。我制作了 UI,但我遇到了一个问题。
您可以在下面看到有关游戏板的 XAML 代码的摘录:
棋盘存储在 GameState 类中的 Token 数组(一个 Empty、Red 和 Yellow 的枚举)中。
椭圆的颜色是使用 SolidBrushColor 类提供的。
我的问题是我不知道如何根据游戏模型更改椭圆的颜色。
我想我应该使用数据绑定,但我必须在绑定数据之前将颜色从 Token 类型转换为 SolidBrushColor 类型。我认为它可以使用一些 DataObjectProvider 对象来实现,但是为这样一个简单的任务创建 42 个 DataObjectProvider 对象似乎过于复杂......
那么根据最佳实践,正确的解决方案是什么?
c# - 如何以缩写形式多次使用MultiBinding,每次使用不同的ConverterParameter?
我有一个IMultiValueConverter
被调用的Placer
,像这样使用:
但是我有很多Rectangle
s,我想在其上应用相同的逻辑,但具有不同的ConverterParameter
值。我是否必须在每个附加属性下包含这个不那么小Rectangle
的片段?Canvas.Left
(反问……显然有更聪明的方法……但是如何?)
wpf - 从 ListBox 内的 UserControl 访问 TextBox.Text
我有一个需要更改页面上 TextBox 的 .text 的 UserControl。我的问题是我找不到从 UC 的代码隐藏中访问 TextBox 的方法。顺便说一句,我使用的是 Visual C++,而不是 C#。
基本上,UserControl 有一个 TextBox,当其中的文本发生更改时,我需要页面上 TextBox 中的文本进行更改。如果这是有道理的。
我已经尝试将 Page TextBox 绑定到 UserControl TextBox,但我无法让任何一个 TextBox 找到另一个。我已经尝试在 UserControl 中#include Page .h,但这仍然无法让我访问页面上的 TextBox。我还研究了在 UserControl 上使用 Window::Current::Content ,但这似乎也无法让我访问 Page TextBox (除非我误解了它的工作原理)。
如果您需要我的任何代码,请告诉我,但现在它是一个更大项目的一部分,除非我删除一堆东西,否则没有任何意义,但是您将无法复制它并尝试运行所以我试图通过提供尽可能多的细节但保持简单来提出我的问题。我已经在互联网上搜索“XAML 将 TextBox 绑定到 UserControl”,虽然结果有限,但我已经完成了所有这些(我一直试图自己解决这个问题将近一个星期) .
c# - 更新后 WPF DataGrid 单元格样式更改
我有一个带有动态生成列的 DataGrid,我需要更改其值在某些操作后发生变化的单元格的样式。
DataGrid 的 ItemsSource 定义为List<MyTableRow>
,其中
使用以下代码生成 DataGrid 列:
生成的 DataGrid 看起来像这样
当我尝试突出显示 ItemsSource 中的值已更改的单元格(粗体文本或彩色背景)时,就会出现问题。这就是我的问题分为两部分的地方:
- 是否有一些“内置”的方式来处理更改的单元格?(也许有
ObservableColletion
或其他) - 如果不是,我如何根据索引或值突出显示单独的单元格
我尝试使用 xaml 样式和/或触发器来执行此操作,但结果证明我不知道应该将什么值蒙蔽传递给转换器
在 SO 上找到的其他解决方案要么具有相同的绑定“问题”,要么就是不起作用。我该怎么做才能突出显示一个单元格而不是整行/列?MyTableRow
如有必要,我可以更改 ItemsSource、字段和/或列的生成代码
谁能帮帮我?自从我遇到这个问题以来已经有几天了
更新找到解决方案
c# - 可以在样式中的 XAML 中使用绑定吗?
我编写了一个示例来查看是否可以Style
在空白的 Windows 应用商店应用程序中使用绑定 - 它已编译但并没有完全按照我希望的那样工作。我对 XAML 和绑定比较陌生,所以可能错过了一些东西。
在下面的示例中,有两个矩形,都绑定到滑块控件,并且都应该在滑块移动的同时发生变化,但似乎只有第一个发生变化;第一个直接绑定,第二个通过 a 绑定style
。
在 Win Store 应用程序中绑定Style
应该是可能的吗?(我的目标是有一个滑块可以一次更改大量元素的设置,这似乎是比复制/粘贴绑定到所有元素更好的方法)
c# - 如何通过 Bindings 在 GridViewColumn 上设置 width=auto?
我需要将 GridViewColumn 的宽度设置为值或自动,具体取决于布尔值。我目前有这个设置:
这具有所需的行为,但给了我解析错误:
我也试过这个,它也不起作用:
这没有给我任何错误,但似乎不起作用。
实现这个的正确方法是什么?
c# - 我可以响应飞出的 Flyout,然后以编程方式为其控件分配值吗?
我知道在 XAML 世界中将数据分配给控件的规范方法是在 XAML 文件中使用绑定,如下所示:
...但我会尽快在代码中分配它,如下所示:
这可能吗?如果是这样,我可以利用 Flyout 公开的哪些事件(不是双关语)?
我可以通过“发件人”访问 Flyout 上的控件,还是...???
注意:这是一个 Windows 8.1 应用程序和一个本机(不是 Callista)浮出控件。
mvvm - MapControl DataTemplate 与 WP 8.1 WinRT 应用程序中的 ObservableCollection 绑定
如何在 Maps:MapControl 中绑定多个位置?我有一些纬度和经度的 json 数据。我已将它们放在 Model 类的 ObservableCollection 中,并在 MainViewModel 中为其创建了 INotifyChangeProperty。现在无法在 xaml Maps:MapControl 数据模板中绑定集合。请帮忙。一个简单的样本会很有帮助。
c# - 如何在 C# 中更改 JSON 生成的变量
我遇到了一些应该很容易的问题。我正在为 windows phone 8 创建一个洪水警告应用程序。我有一个Severity
从 JSON 提要中提取的整数,可以是 1 到 4 之间的任何值。我只是想将 int 更改为与严重性相对应的字符串,然后使用字符串通过绑定填充文本块。这是代码
然后我使用绑定的xaml如下,
其他绑定工作正常,但是当我尝试从 int 更改为字符串时,绑定显示为空。
wpf - 如何将 ContextMenu 内的颜色选择器绑定到标签?
我的窗口上有一个自定义上下文菜单,如下所示,其中包含两个颜色选择器——一个用于前景,一个用于背景:
我怎样才能将颜色选择器的 SelectedColor 绑定到窗口内的标签?
我尝试过使用 ElementName 但我想这将因为名称范围不同而无法工作。从我读过的内容来看,绑定到控件模板内的东西可能也不是一个好主意。
任何关于如何(或更好的方法)做到这一点的建议将不胜感激——谢谢!