问题标签 [objectdataprovider]

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.

0 投票
1 回答
1020 浏览

wpf - 带有 objectdataprovider 的 WPF 时间下拉框

我正在尝试使用 3 个组合框来实现一个用户控件来选择时间 - 一个代表小时,第二个代表分钟,第三个代表秒。

小时的组合框有从 0 到 23 的数字可供选择

分钟和秒的组合框有数字 0 到 59 可供选择

我相信我只需使用 XAML 就可以做到这一点,而无需在代码隐藏中动态填充组合框。

但这看起来像很多静态和不必要的代码。我可以像这样在代码隐藏中只用一行来填充组合框。

我可以只在 XAML 中实现这个调用吗?

0 投票
1 回答
2426 浏览

c# - 带有 ObjectInstance 的 XAML 中的 ObjectDataProvider 不会在调试中调用 ViewModel 构造函数

我们以前在我以前的工作中这样做过,它在那里工作得很好,但由于某种原因,我现在无法让它工作。

我只想使用 ObjectDataProvider 在 XAML 中创建 ViewModel 类的实例,以便我可以引用它进行绑定,并且我已经在 Window 上将 DataContext 设置为 ViewModel,并且我有一个 xmlns:local与我的所有 ViewModel 具有相同命名空间的完全限定名称。

后来我尝试使用 ViewModel:

但我的问题是,当我在 TimersHostViewModel 无参数构造函数中设置断点时,调试时它们永远不会被命中。所以似乎 ObjectDataProvider 没有正确地完成它的工作。尽管确实创建了窗口。

我可以看到我的 App.xaml.cs 和 MainWindow.xaml.cs 中的断点被击中,InitializeComponent 也被击中,甚至我的单例模型类也被创建。但是我一辈子都无法弄清楚为什么我的 TimersHostViewModel 类构造函数从未被调用过。

我记得的一件事是,在我的工作中,我们使用了这样的一行:

我看到没有 ObjectInstance,只有 ObjectType,所以当我尝试删除 ObjectInstance 并改为设置 ObjectType 时,我收到以下错误:对象引用未设置为对象的实例,它突出显示 ObjectType=" {x:Type local:TimersHostViewModel}"...什么给出了?!为什么它在一种情况下有效,而在另一种情况下无效?我对此很困惑。

编辑:好的,我能够部分回答我自己的问题,但真正的问题仍然存在。因此,我能够通过删除 Window 的 DataContext 并将 ObjectDataProvider ObjectInstance 更改为 ObjectType 来调用 ViewModel 构造函数。然后将 Grid DataContext 设置为绑定到 TimersHostViewModel。但这仍然让我现在在 ObjectDataProvider ObjectType 上遇到这个设计时/编译时错误:对象引用未设置为对象的实例。

也仍然不确定为什么它在某些情况下会起作用,但在其他情况下不起作用,比如我现在使用的那种。

完整的源代码在这里: http ://timersxp.codeplex.com/SourceControl/latest#VS2013/TimersXP/Views/TimersHost.xaml

0 投票
2 回答
572 浏览

wpf - 将静态资源添加到 ObjectDataProvider 的语法

我正在创建几个要添加到 ObjectDataProvider 的静态资源,但我无法弄清楚语法。

有什么建议么?

编辑:我试图创建一个包含上述画笔的组合框,因此用户可以选择哪个画笔用作网格的填充样式(有点像在 Excel 中,您可以在其中选择填充样式和颜色。)我需要设置 ItemsSource,并找到有人使用过 ObjectDataProvider 的位置。我发现您可以在 xaml 中创建一个数组并用画笔填充它,然后改用它。

0 投票
0 回答
514 浏览

wpf - WPF ObjectDataProvider 可以调用泛型方法吗?

众所周知,ObjectDataProvider可以像这样调用简单的非泛型方法

XAML:

代码隐藏:

是否有可能ObjectDataProvider调用泛型方法?像这样的东西:

0 投票
1 回答
8130 浏览

c# - WPF 设计器错误值不能为空。参数名称:图案

我见过很多其他 ObjectDataProvider 问题,其中参数名称:类型、名称等不能为空。这些问题都是由于没有设置实际参数。据我所知,ObjectDataProvider 没有“模式”参数。以下标记生成“值不能为空。参数名称:模式”,并带有随附的蓝色波浪线下划线。有时,设计器会抛出异常并且无法加载,但是按下重新加载按钮会加载页面。代码和标记按预期编译和运行。这是什么原因造成的?

类的一部分,要注意这不是自定义控件,只是一个糟糕的命名选择:

它是页面上唯一的 ObjectDataProvider,如果我删除第 4 个字符串参数,错误就会消失。此外,它调用的方法确实需要 4 个字符串,并返回一个字符串,因此我可以将其结果绑定到输出文本框。我在具有类似方法和签名的不同页面上使用了类似的 ObjectDataProvider,它也显示了相同的错误。这到底是怎么回事?

Visual Studio Ultimate 2013,Windows 7 Professional,面向 .net 4.5

0 投票
1 回答
152 浏览

c# - 修改 ObjectDataProvider

我有一个使用 ObjectDataProvider (App.xaml) 的应用程序:

我的课是:

}

然后我有一个使用该颜色的用户控件,例如:

我将该 UserControl 添加到我的 MainWindow 中,其中我有一个 ColorPicker 控件,我想修改我的 UserControl 的边框背景颜色,并选择了 ColorPicker 颜色。

我试过这样的事情:

当我使用 ColorPicker 更改颜色时,我的 UserControl 中的颜色没有改变,我想这是因为我正在创建 AppSettings 类的新实例。

有没有办法完成我想做的事情?

提前致谢。

阿尔贝托

0 投票
1 回答
323 浏览

c# - WPF - 添加 ObjectDataProvider 会破坏我的设计器

也许我没有正确使用 ObjectDataProvider,但我遵循 MSDN 示例,所以我不确定出了什么问题。

目标:当我单击一个按钮时,它将通过调用一个方法“exitButtonMethod”来关闭窗口,该方法简单地执行 this.Close();。

错误在于它只是破坏了我的设计器,并在设计器中给了我以下错误:

0 投票
1 回答
592 浏览

c# - 是否可以将当前 DataContext 作为 ObjectDataProvider 的 ContructorParameter 传递?

将 DataContext 作为 DataTemplate 的参数传递会非常有用:

我将在 ListBox ItemTemplate 中使用此 DataTemplate。所以,DataContext 将是 ListBoxItem 绑定的对象(类型已知)

可能还有其他方法可以将参数从 DataTemplate 传递给构造函数吗?

0 投票
2 回答
5496 浏览

c# - WPF ComboBox 作为 System.Windows.Media.Colors

想要在我的 WPF ListView 列中获得颜色组合框(见图)行为。 照片

有人可以帮我开始吗?我对 ListView 绑定很满意,但不确定如何实现。

编辑:

告诉我提供的类型必须是枚举。

我找到的最佳答案: 如何使用 XAML 在 WPF 中列出颜色?

0 投票
1 回答
237 浏览

c# - ObjectDataProvider 可以与派生类一起使用吗?

假设我有一个用于实现一些基本属性的特定控件的基本视图模型,例如

我还有一个 ResourceDictionary 我想与该控件一起使用,理想情况下将包含样式中的值绑定到ControlVmBase. 我认为通过 ObjectDataProvider 执行此操作是个好主意,因为它看起来像一个干净的解决方案,并在 XAML 中为我提供了 Intellisense 支持:

但是这不起作用,因为 ODP 尝试实例化 ObjectType 这是毫无意义的,因为它是一个抽象类,不会影响实现的类。是否可以使用这样的 ODP,或者是否有另一种可能绑定到派生类?