相关疑难解决方法(0)

双向数据绑定与WPF中的字典

我想绑定Dictionary<string, int>ListViewWPF中.我希望做这样一种方式,ValuesDictionary通过数据绑定机制得到更新.我不想改变Keys那个Values.我也不在乎添加新的映射Dictionary.我只是想更新现有的.

设置词典为ItemsSourceListView不做到这一点.它不起作用,因为ListView使用Enumerator访问其内容,Dictionary并且该枚举的元素是不可变KeyValuePair对象.

我目前的调查尝试使用该Keys属性.我将此分配给我的ItemsSource属性ListView.这并不让我来显示Keys,但我不知道有足够的了解WPF的数据绑定机制来访问ValuesDictionary.

我发现了这个问题:在XAML中访问codebehind变量但仍然无法弥合差距.

你们中的任何人都知道如何使这种方法有效吗?有没有人有更好的方法?

看来,作为最后的手段,我可​​以构建一个自定义对象并将其粘贴List到我重新创建/更新我的内容中,Dictionary但这似乎是一种绕过内置数据绑定功能而不是有效利用它的方法.

c# data-binding wpf xaml dictionary

25
推荐指数
2
解决办法
6万
查看次数

WPF绑定到局部变量

你能绑定到这样的局部变量吗?

SystemDataBase.cs

namespace WebWalker
{
    public partial class SystemDataBase : Window
    {
        private string text = "testing";
...
Run Code Online (Sandbox Code Playgroud)

SystemDataBase.xaml

 <TextBox 
       Name="stbSQLConnectionString" 
       Text="{SystemDataBase.text}">
 </TextBox>
Run Code Online (Sandbox Code Playgroud)

??

文本设置为局部变量"text"

data-binding wpf binding

23
推荐指数
3
解决办法
8万
查看次数

如何在XAML中声明小数值?

我能够在xaml中声明一个整数或双精度值.但是,我无法添加小数值.它建立好,但后来我得到:

System.Windows.Markup.XamlParseException:找不到类型"Decimal".

这是xaml代码:

<UserControl.Resources>
    <system:Int32 x:Key="AnIntValue">1000</system:Int32><!--Works!-->
    <system:Double x:Key="ADoubleValue">1000.0</system:Double><!--Works!-->
    <system:Decimal x:Key="ADecimalValue">1000.0</system:Decimal><!--Fails at runtime-->
</UserControl.Resources>
Run Code Online (Sandbox Code Playgroud)

这是我如何声明系统命名空间:

xmlns:system="clr-namespace:System;assembly=mscorlib"
Run Code Online (Sandbox Code Playgroud)

编辑:解决方法: 正如史蒂文所提到的,通过代码隐藏添加资源似乎工作正常:

Resources.Add("ADecimalValue", new Decimal(1000.0));
Run Code Online (Sandbox Code Playgroud)

编辑:答案: 在WPF中做同样的事情似乎工作正常.所以我猜这是一个隐藏的银光限制.感谢Steven的这一发现.

silverlight xaml decimal

6
推荐指数
1
解决办法
3567
查看次数

如何使用codebehind变量作为ValueConverter中ConverterParameter的输入

我有一个ListBox,我将ItemsSource设置为从WCF服务填充的CollectionViewSource.我在ListBox.ItemTemplate\DataTemplate中使用值转换器来转换ItemsSource中对象的属性.

这一切都按预期工作,但现在我需要更新转换过程,以便转换后的值仍然基于单个对象属性值,除非另一个属性等于特定值.并且该值在xaml后面的代码中设置,这是在页面构造函数中设置的字段级变量.

为此,我想将字段级变量作为ValueConverter的ConverterParameter传递.我已经尝试了几种方法,主要使用这个问题的想法,除了我总是得到一个错误解析xaml(并且应用程序无法加载).

一个修复可能是添加属性到ItemsSource中的对象,但我真的不想这样做.部分是因为该对象在几个项目中使用,所以我不想改变我......因为我想看看其他方法是否可行.另外我相信wpf有一个MultiValue转换器(也许是SL 4.0),但我在SL 3.0上.

我的猜测是到目前为止我遇到的问题是因为加载,绑定和解析xaml的时间.

所以有几个问题:

  • 这可以像我上面描述的那样完成吗?
  • 如果不是什么问题?
  • 如果不是没有为对象添加属性的另一种方式?

data-binding silverlight silverlight-3.0 valueconverter

3
推荐指数
1
解决办法
1550
查看次数