标签: data-binding

想要避免默认的零值

我的应用程序中有一个类.它必将赢得文本框控件.但是绑定到BookingNo属性的文本框始终显示为零(0).但我希望文本框保持空白.有什么办法吗?这是我的代码片段.

    public class Booking 
    {
    private int pBookingNo;
    private string pCustomerName;
    private string pAddress;

    public int BookingNo
    {
        get { return pBookingNo; }
        set
        {
            if (!value.Equals(pBookingNo))
            {
                pBookingNo = value;
            }
        }
    }

    public string CustomerName
    {
        get { return pCustomerName; }
        set
        {
            if (!value.Equals(pCustomerName))
            {
                pCustomerName = value;

            }
        }
    }

    public Booking() { }
}


    public partial class Form1 : Form
    {
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        AddDataBindings();
    } …
Run Code Online (Sandbox Code Playgroud)

c# data-binding

0
推荐指数
1
解决办法
189
查看次数

两个组合框之间的WPF主/明细数据绑定

我有两个组合框,其中Parent必须显示国家/地区列表,子组合必须显示所选国家/地区的城市列表.数据存储在Dictionary<Int32, List<String>>具有名称的数据中CountriesCitiesList.我有以下代码

<ComboBox x:Name="cbCountriesList" 
    DataContext="{Binding CountriesCitiesList}"
    IsSynchronizedWithCurrentItem="true">
</ComboBox>

<ComboBox x:Name="cbCitiesList" VirtualizingStackPanel.IsVirtualizing="True"                  
          ItemsSource="{Binding CountriesCitiesList}"
          IsSynchronizedWithCurrentItem="true">
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

问题是在城市组合中我无法显示所选国家的城市列表.我觉得它错过了最后一步.

data-binding wpf

0
推荐指数
1
解决办法
3283
查看次数

Knockout和jQuery对话框 - 当视图模型绑定上下文不是document.body时?

假设我们有一个简单的模型和视图模型:

// Model
function Model(prop) {
     this.Prop = ko.observable(prop);
}

// View Model
function ViewModel(){
     var self = this;

     this.CurrentItem = ko.observable(new Model("abc"));

     this.Edit = function(){
          $(#"EditDiv").dialog("show");
     }
}
Run Code Online (Sandbox Code Playgroud)

然后是html:

<body>
      <input type="button" data-bind="click: Edit"/>
      <div id="EditDiv" data-bind="with: CurrentItem">
         <input type="text" data-bind="value: Property" />
      </div> 
</body>
Run Code Online (Sandbox Code Playgroud)

然后是页面底部的脚本:

$(document).ready(function(){
      $("#EditDiv").dialog({ /* settings to hide it first. */ });

      ko.applyBindings(new ViewModel());
});
Run Code Online (Sandbox Code Playgroud)

上面的代码工作,并将弹出一个带有文本框"abc"的jQuery窗口.

但是,如果我在div中划分页面并为每个div分配不同的模型视图,则绑定会中断:

<body>
     <div id="ForAnotherBindingContextDiv">
     </div>
     <div id="TargetContextDiv">
          <input type="button" data-bind="click: Edit"/>
          <div id="EditDiv" data-bind="with: CurrentItem">
              <input type="text" data-bind="value: Property" …
Run Code Online (Sandbox Code Playgroud)

data-binding jquery dialog modal-dialog knockout.js

0
推荐指数
1
解决办法
5163
查看次数

Listview显示"空"行

我花了几天时间没有自己解决这个问题,这使我相信我不理解xaml和代码隐藏的基本内容.我试图使用WPF和c#在ListView中显示来自ObservableCollection的数据.

当我开始调试时,窗口显示listview,包含网格和标题.可点击的行等于应该存在的项目数,但这些项目显示为空白或空白.我正在研究一个不完整的教程,试着通过这个来学习我的方法,代码如下:

MainWindow.xaml.cs:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();           
    }   
}
Run Code Online (Sandbox Code Playgroud)

NameList.cs:

class NameList : ObservableCollection<PersonName>
{
    public NameList()
        : base()
    {
        Add(new PersonName("Willa", "Cather")); //enumerated? (firstName, lastName)
        Add(new PersonName("Isak", "Dinesen"));
        Add(new PersonName("Victor", "Hugo"));
        Add(new PersonName("Jules", "Verne"));
    }
}
Run Code Online (Sandbox Code Playgroud)

PersonName.cs:

class PersonName
{
    private string firstname;
    private string lastname;

    public PersonName(string first, string last)
    {
        this.firstname = first;
        this.lastname = last;
    }

    public string FirstName { get; set; }
    public string LastName { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf listview

0
推荐指数
1
解决办法
3259
查看次数

是什么触发了UI上的绑定?

我在WPF窗口中有一个TextBox,我从后面的代码中填充(在用户从OpenFileDialog中选择一个后,使用文件名).

虽然我的TextBox.Text绑定到我的ViewModel类中的String属性,但是当文本设置为TextBox.Text时,不会填充该属性.

如果我输入TextBox,则会填充属性,因此必须有一些事件触发或在用户输入期间发生的事情,而不是我通过代码设置值时.

我错过了正确绑定的步骤是什么?

另外,属性上的set方法是在属性更改时调用还是UI?或两者?如果更改UI调用set方法,该方法触发PropertyChanged事件以更新UI,那么什么会永久停止此循环?

(我知道我可以直接设置属性,但我觉得我对绑定缺乏了解,我希望这有助于填补一些空白.)

我的示例代码:

<Window x:Class="ConfigurationViewer.ViewerWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:ConfigurationViewer"
    Title="Configuration Viewer" Height="512" Width="714" >
    <Window.DataContext>
        <local:TaskViewModel x:Name="_model"/>
    </Window.DataContext>
    <DockPanel>
        <StackPanel DockPanel.Dock="Top" Orientation="Horizontal">
            <TextBlock Text="Configuration file" Margin="2" VerticalAlignment="Center" />
            <TextBox Height="29" Margin="2" Name="textFilePath" Width="277" Text="{Binding Path=ConfigurationPath}" />
            <Button Content="Browse ..." Margin="2" Name="buttonBrowseFile" Width="98" Click="buttonBrowseFile_Click" />
            <Button Content="Open" Margin="2" Name="buttonOpenFile" Width="98" Click="buttonOpenFile_Click"  />
        </StackPanel>
    </DockPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)
    public partial class ViewerWindow : Window
    {
        public ViewerWindow()
        {
            InitializeComponent();
        }

        private void buttonBrowseFile_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openDialog = new …
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf

0
推荐指数
1
解决办法
101
查看次数

为什么DataBinding找不到存在的属性?

我已经声明了一个类但是当我尝试访问它的成员时,我收到以下错误:
DataBinding:'reapTest.Toop'不包含名为'Rang'的属性.

WebForm1.aspx.cs:

namespace reapTest {

    public class Toop {
        public string Rang;
        public int Gheymat;
    }

    public static class MyData {

        public static Toop[] TP = new Toop[] { new Toop() { Rang = "Ghermez", Gheymat = 100 }, new Toop() { Rang = "Yellow", Gheymat = 44 } };
        public static Toop[] RT() {
            return TP;
        }

    }

    public partial class WebForm1 : System.Web.UI.Page {
        protected void Page_Load(object sender, EventArgs e) {

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

WebForm1.aspx:

<%@ Page …
Run Code Online (Sandbox Code Playgroud)

c# asp.net data-binding

0
推荐指数
1
解决办法
1095
查看次数

knockout.js数据绑定样式与border-radius

我正在尝试使用knockout.js data-bind属性应用border-radius css属性:

data-bind="style: { width: totalLength() < workDay ? totalLength() + 'px' : workDay + 'px', border-radius: '10px', background: '#a9fd76' }"
Run Code Online (Sandbox Code Playgroud)

但浏览器似乎根本不喜欢它.我从knockout.js文件中得到一个错误说:

"错误:无法解析绑定.消息:SyntaxError:missing:属性id之后;绑定值:style:{width:totalLength()<workDay?totalLength()+'px':workDay +'px',border-radius: '10px',背景:'#a9fd76'}"

这是否意味着knockout.js绑定不支持CSS3属性?

只是提到我将border-radius属性输出时一切正常.

javascript data-binding css3 knockout.js

0
推荐指数
1
解决办法
2540
查看次数

将选择选项绑定到全局变量/数组?

假设我有以下Javascript:

var Option = (function ()
{
        function Option(value, text)
        {
            this.value = value;
            this.text = text;
        }

        return Option;
})();

var QuestionTypes = (function ()
{
    QuestionTypes.chooseOne = new Option("ChooseOne", "Choose One");
    QuestionTypes.chooseMany = new Option("ChooseMany", "Choose Many");
    QuestionTypes.text = new Option("Text", "Text");
    QuestionTypes.all = function ()
    {
        return
        [
            QuestionTypes.chooseOne, 
            QuestionTypes.chooseMany, 
            QuestionTypes.text
        ];
    };

    return QuestionTypes;
})();
Run Code Online (Sandbox Code Playgroud)

这个HTML:

<select data-bind="value: type, options: QuestionTypes.all, optionsValue: value, optionsText: text" />
Run Code Online (Sandbox Code Playgroud)

所以它select被绑定到我的"静态"变量QuestionTypes.我希望结果select看起来像这样:

<select data-bind="value: type, …
Run Code Online (Sandbox Code Playgroud)

javascript data-binding knockout.js typescript

0
推荐指数
1
解决办法
1854
查看次数

Android自定义SimpleCursorAdapter,带有来自文件的图像,带有数据库中的路径

要点:自定义适配器通过数据库中的文件路径间接获取文件资源.低效/记忆问题.您的意见要求.

对所有搜索,相关链接和有用主题的引用都在后面.

以下代码有效,但有几个因素值得关注.需要一些更有经验的眼睛,请建议改善或潜在的错误,以避免.应用不需要是内容提供商(仅限应用于本地的数据).有问题的ListView将非常轻量级,只有大约5到10个条目.(我遗漏了数据库的东西,因为它有效.)

概述:

  • DataBase包含一些文本和图像文件路径.- 好
  • 图像文件存储在设备上(SD卡/外部存储器,无论哪里).- 好

文件不在数据库中使得它与普通的SimpleCursorAdapter不同 - 必须拉动图像文件.添加了在填充listview之前将其制作成缩略图的开销.

如上所述,它很轻,但即使只有一两个条目,虚拟机也会出现问题.我怀疑这是与Bitmaps相关的所有内存抖动:

08-27 19:53:14.273: I/dalvikvm-heap(11900): Grow heap (frag case) to 4.075MB for 1228816-byte allocation
08-27 19:53:14.393: D/dalvikvm(11900): GC_CONCURRENT freed <1K, 5% free 4032K/4244K, paused 13ms+3ms, total 116ms
Run Code Online (Sandbox Code Playgroud)
/* myTextAndImageCursorAdapter.java */

import android.widget.SimpleCursorAdapter;

//import android.support.v4.widget.SimpleCursorAdapter;
import android.content.Context;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import android.database.Cursor;
import java.io.File;

import android.widget.ImageView;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import static android.media.ThumbnailUtils.extractThumbnail;


public class TextAndImageCursorAdapter extends SimpleCursorAdapter { 

    private Context context;
    private int layout;

    public TextAndImageCursorAdapter …
Run Code Online (Sandbox Code Playgroud)

data-binding android image android-cursoradapter

0
推荐指数
1
解决办法
5507
查看次数

委托"模板"绑定不起作用

小提琴:http://jsfiddle.net/ZA5k9/

所以我想为模板绑定创建一个快捷方式,如下所示:

ko.bindingHandlers.shortcut = {
        init: function(element, valueAccessor, allBindings, viewModel, bindingContext) {
            var data = valueAccessor();
            var nextValueAccessor = function () {
                return  { name: 'someTemplate', data: data };
            };
            ko.bindingHandlers.template.init.call(this, element, nextValueAccessor, allBindings, viewModel, bindingContext);
        }
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<div data-bind="shortcut: 'Hey!'"></div>
<script type="text/html" id="someTemplate">
   <div data-bind="text: $data"></div>
</script>
Run Code Online (Sandbox Code Playgroud)

定义了"someTemplate"模板.只是没有说什么就行不通.我在这做错了什么?

javascript data-binding user-interface web knockout.js

0
推荐指数
1
解决办法
533
查看次数