问题标签 [wpf-extended-toolkit]
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# - 在最小值和最大值之后绑定 DoubleUpDown 值
我有UserControl
aListBox
和 a DoubleUpDown
。当我选择ListBox
我要设置的项目时Minimum
,用户可以不从预定义的范围更改,而是在给定值附近的某个范围内更改。我使用这段代码: Maximum
Value
DoubleUpDown
Value
问题是这段代码首先设置了Value
,然后设置了Minimum
,Maximum
所以如果我有这个值:
一的范围是 4..8,二的范围是 0..2。如果我先选择One,然后选择Two,它看起来像,因为当One的范围仍处于活动状态 Two.MyVal = 4
时,将插入该值。
如何更改代码以首先设置Minimum
和Maximum
然后设置Value
?
c# - 如何格式化 IntegerUpDown 控件中某些值的显示值
我正在使用 WPF 扩展工具包来显示一个简单的输入框。
...
输入的值表示执行操作的持续时间。当值为 0 时,我的业务逻辑会将其解释为无限持续时间。现在我想修改控件,如果用户输入值 0,输入框中显示的文本将替换为“∞”符号。我将如何去做,或者它是否可行?
c# - 将 WPF 扩展工具包 ColorPicker SelectedColor 属性绑定到 DependencyProperty
我正在尝试将SelectedColor
WPF Extended Toolkit ColorPicker 的属性绑定到DependencyProperty
with type SolidColorBrush
。然后,该颜色应该用作位于画布上/中的形状的填充颜色。
这不起作用,据我了解,问题在于SelectedColor
ColorPicker 的属性实际上是一个具有 type 的对象Color?
。我的问题是,我该如何让它工作?如果我只是通过与事件挂钩的方法在代码中执行此操作,我可以使用SelectedColor.Value
AFAIK,但 AFAIK 不是 XAML 中的选项。
我确实尝试使用常规属性并让类继承自INotifyPropertyChanged
(如SelectedColor 绑定不会从 ColorPicker 更新为 Model),而不是 from DependencyObject
,但这也不起作用。
我更喜欢用 Binding 来做这件事,因为我试图在使用 MVVM 的实践中获得更多。我最近才学会如何使用 MVVM,而且我现在更喜欢它,所以我真的很想避免只使用代码隐藏。
XAML:
C#: 私有静态 DependencyProperty FillColorProperty = DependencyProperty.Register("FillColor", typeof(SolidColorBrush), typeof(TuckboxModel), new FrameworkPropertyMetadata(Brushes.Purple));
任何帮助将不胜感激!
wpf - WPF 使用扩展工具包向导 - 如何隐藏页脚区域?
我正在使用扩展工具包在 WPF 中创建一个向导。
我选择PageType = WizardPageType.Blank
。
我想看到一个空白页面,但我仍然看到页脚区域(我隐藏了所有按钮)。
如何隐藏此页脚区域?
c# - 当单击其中的按钮时,如何不关闭 xtk:SplitButton 的自定义弹出窗口?
我有一个覆盖 OnApplyTemplate 的自定义控件。在其中,我尝试访问子模板的子模板,但它们似乎没有被加载。我希望:当点击 a 的内部时,不会PART_IncreaseButton
关闭,只是让点击对点击做出反应。Popup
xtk:SplitButton
Popup
Button
CustomIntegerUpDown
并且CustomSplitButton
源自 Xceed Extended WPF Toolkit。CustomIntegerUpDown 没有改变样式或模板或代码隐藏,目前它的唯一目的是做我上面所说的,但我只是在它的开始。以下是所有相关来源。
我试过这个:
之后 IncrementButton 为空,尽管在即时窗口中:
Utils.FindChild<Popup>(this, "PART_Popup")
返回从Popup
获得的GetTemplateChild("PART_Popup")
。
然后
Utils.FindChild<ButtonSpinner>(PartPopup, "PART_Spinner")
返回null
。
Utils.FindChild<CustomIntegerUpDown>(PartPopup, "MyCustomIntegerUpDown")
返回null
。
VisualTreeHelper.GetChildrenCount(PartPopup)
返回0
。
PartPopup.ApplyTemplate()
返回false
。
我也看到了这个,我不确定是否值得尝试这种方式。
FindChild
这是(取自这里):
在CustomSplitButton.xaml.cs我有这个:
可视化树是这样的:
CustomSplitButton的样式如下(xmlns:xtkThemes="clr-namespace:Xceed.Wpf.Toolkit.Themes;assembly=Xceed.Wpf.Toolkit"
):
在OnApplyTemplate
我希望能够在this
. 但我没有找到办法做到这一点。
我的相关问题在这里。
更新 1
示例的起点已更新(它使用TryFindVisualChildElementByName
BionicCode 答案中的扩展方法):
上面使用的ApplyTemplateRecursively
扩展方法,有2个版本:
不工作版本
是否有可能使这个版本以某种方式工作?我认为它更有效率。
工作版本
现在我正在尝试解决实际问题。
更新 2
我已经报告了这个问题。
c# - DateTimeUpDown 控件的特殊情况显示值
我有一个DateTimeUpDown
(来自Extended WPF Toolkit)。我正在使用格式字符串mm:ss
,因为我在一个小时内获得用户输入。我想00:00
成为一个特例,这意味着无穷大。从控件中读取 0 对我来说很好,因为我已经在处理这个案例了,但是我希望文本变成Infinity
而不是00:00
. 我怎么能这样做?
c# - WPF扩展工具包CheckCombobox绑定问题
我有一个来自 WPF Extended Toolkit 的 CheckComboBox 并且 SelectedItemsOverride 不会触发我的属性的设置器,我不知道为什么。我究竟做错了什么?
我的 XAML:
ViewModel 中的属性:
上下文设置正确,因为我的其他属性按预期绑定。