标签: data-binding

为什么我不能在ComboBox中选择空值?

在WPF中,似乎无法从ComboBox中选择(使用鼠标)"null"值.编辑为了澄清,这是.NET 3.5 SP1.

这是一些显示我的意思的代码.首先,C#声明:

public class Foo
{
    public Bar Bar { get; set; }
}

public class Bar 
{
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

接下来,我的Window1 XAML:

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <StackPanel>
        <ComboBox x:Name="bars" 
                  DisplayMemberPath="Name" 
                  Height="21" 
                  SelectedItem="{Binding Bar}"
                  />
    </StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

最后,我的Window1类:

public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();

        bars.ItemsSource = new ObservableCollection<Bar> 
        {
            null, 
            new Bar { Name = "Hello" }, 
            new Bar { Name = "World" …
Run Code Online (Sandbox Code Playgroud)

data-binding wpf combobox

42
推荐指数
5
解决办法
3万
查看次数

WPF:将bool值显示为"是"/"否"

我有一个bool值,我需要在TextBlock中显示为"是"或"否".我试图用StringFormat做这个,但我的StringFormat被忽略,TextBlock显示"True"或"False".

<TextBlock Text="{Binding Path=MyBoolValue, StringFormat='{}{0:Yes;;No}'}" />
Run Code Online (Sandbox Code Playgroud)

我的语法有问题,还是不支持这种类型的StringFormat?

我知道我可以使用ValueConverter来实现这一目标,但StringFormat解决方案看起来更优雅(如果有效).

data-binding wpf formatting xaml

42
推荐指数
5
解决办法
4万
查看次数

Android DataBinding在哪里获取上下文?

我有TextView显示时间.我想使用Android的DataBinding插件.对于格式化时间,我使用DateUtils.formatDateTime(context,int,int)方法,该方法接受Context实例.是否可以获取上下文包含元素?或者我必须使用旧学校的方式?

谢谢

data-binding android view android-context

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

如何从Combobox中设置选定的值?

我在c#windows窗体中使用了combobox.我将项目列表绑定如下:

var employmentStatus = new BindingList<KeyValuePair<string, string>>();

employmentStatus.Add(new KeyValuePair<string, string>("0", "[Select Status]"));
employmentStatus.Add(new KeyValuePair<string, string>("1", "Contract"));
employmentStatus.Add(new KeyValuePair<string, string>("2", "Part Time"));
employmentStatus.Add(new KeyValuePair<string, string>("3", "Permanent"));
employmentStatus.Add(new KeyValuePair<string, string>("4", "Probation"));

employmentStatus.Add(new KeyValuePair<string, string>("5", "Other"));
cmbEmployeeStatus.DataSource = employmentStatus;
cmbEmployeeStatus.ValueMember = "Key";
cmbEmployeeStatus.DisplayMember = "Value";
cmbEmployeeStatus.SelectedIndex = 0;
Run Code Online (Sandbox Code Playgroud)

我将所选值保存在数据库eg.1或2.现在我想从数据库项设置选定的值,如:

cmbEmployeeStatus.SelectedValue =employee.employmentstatus;     
Run Code Online (Sandbox Code Playgroud)

但是没有选择有价值的组合框.我怎样才能做到这一点?

.net c# data-binding combobox winforms

41
推荐指数
3
解决办法
22万
查看次数

使用AngularJS中的ng-style和百分比值设置HTML元素宽度

我有一个包含百分比值的JSON响应对象.例如:

{
    completionPercent: 42
}
Run Code Online (Sandbox Code Playgroud)

我的目标UI结果是:

????????????????????????????????????????????????????
|?????????????????????                             |
????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

JSON对象用作ng-modelAngularJS中的元素.现在我想将它绑定completionPercent为AngularJS中元素的宽度.但CSS width期望一个String '42%',而不是一个数字.所以以下方法不起作用:

<div id="progressBackground" ... >
    <div id="progressBar"
         ng-model="..."
         ng-style="{ 'width': completionPercent }"
         ... ></div>
</div>
Run Code Online (Sandbox Code Playgroud)

目前,我通过在控制器中生成整个样式来实现此功能:

ng-style="getStyleFromCompletionPercent()"
Run Code Online (Sandbox Code Playgroud)

但这不是一个好主意,因为扩展它变得非常困难ng-style.还有另一种隐式指定宽度为百分比的方法吗?这样的事情是理想的:

ng-style="{ 'width-percentage': completionPercent }"
Run Code Online (Sandbox Code Playgroud)

javascript css data-binding json angularjs

41
推荐指数
4
解决办法
4万
查看次数

MVVM radiobuttons

有人请帮忙.我有一个有趣的问题.我正在尝试实现一个MVVM应用程序,我想在我的视图中绑定到radiobuttons.

这是我的观点:

<StackPanel Orientation="Horizontal" Grid.ColumnSpan="2"  >
    <RadioButton GroupName="1" IsChecked="{Binding Path=NoteGeneral, Mode=TwoWay}">General</RadioButton>
    <RadioButton GroupName="1" IsChecked="{Binding Path=NoteContact, Mode=TwoWay}" >Contact</RadioButton>
    <RadioButton GroupName="1" IsChecked="{Binding Path=NoteAddress, Mode=TwoWay}" >Address</RadioButton>
    <RadioButton GroupName="1" IsChecked="{Binding Path=NotePhone, Mode=TwoWay}" >Phone</RadioButton>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

这是我的ViewModel:

    bool _NoteGeneral;
    public bool NoteGeneral
    {
        get { return _NoteGeneral; }
        set
        {
            _NoteGeneral = value;
            OnPropertyChanged("NoteGeneral");
        }
    }

    bool _NoteContact;
    public bool NoteContact
    {
        get { return _NoteContact; }
        set
        {
            _NoteContact = value;
            OnPropertyChanged("NoteContact");
        }
    }

    bool _NoteAddress;
    public bool NoteAddress
    {
        get { return _NoteAddress; } …
Run Code Online (Sandbox Code Playgroud)

data-binding mvvm

40
推荐指数
3
解决办法
4万
查看次数

如何将XSD转换为Python类

我只是想知道是否有一个程序可以将XSD文件转换为Python类,就像JAXB为Java做的那样?

python xml data-binding xsd xsd2code

40
推荐指数
4
解决办法
4万
查看次数

将Grails日期与控制器中的params绑定

为什么通过grails控制器中的参数从视图中提取日期这么难?

我不想像这样用手提取日期:

instance.dateX = parseDate(params["dateX_value"])//parseDate is from my helper class
Run Code Online (Sandbox Code Playgroud)

我只是想用instance.properties = params.

在模型中,类型是java.util.Date和params中的所有信息:[dateX_month: 'value', dateX_day: 'value', ...]

我在网上搜索,没有发现任何事情.我希望Grails 1.3.0可以帮助但仍然是相同的.

我不能也不会相信手工提取日期是必要的!

data-binding grails groovy controller date

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

锚标记的数据绑定href属性

我正在尝试将锚属性绑定到KnockoutJS ViewModel字段.我试过这样的事情:

<a data-bind="href: Link, value: Title"></a>
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我可以在哪里获得html元素的可能数据绑定值列表?

javascript data-binding html5 knockout.js

40
推荐指数
2
解决办法
5万
查看次数

在android数据绑定中找不到符号BR

我想使用Android数据绑定并根据官方文档进行配置.

错误信息是:错误:找不到符号导入net.juude.droidviews.BR;

顶级build.gradle文件是:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:1.3.0-beta2"
        classpath 'me.tatarka:gradle-retrolambda:3.0.1'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
        classpath "com.android.databinding:dataBinder:1.0-rc0"
    }
}
allprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}
Run Code Online (Sandbox Code Playgroud)

app模块中的build.gradle文件是

apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'com.android.databinding'


android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    lintOptions {
        abortOnError false
    }

    defaultConfig {
        applicationId "net.juude.droidviews"
        minSdkVersion 15
        targetSdkVersion 22 
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' …
Run Code Online (Sandbox Code Playgroud)

data-binding android android-studio

40
推荐指数
8
解决办法
4万
查看次数