title author date CreateTime categories
win10 uwp 绑定 OneWay 无法使用
lindexi
2018-08-10 19:16:50 +0800
2018-2-13 17:23:3 +0800
Win10 UWP

有时候使用绑定的 OneWay 方法无法使用,而使用 TwoWay 的方法就可以使用,但是在调试把 OneWay 做了修改又可以使用,那么请看本文。

这里存在的问题就是,在绑定 OneWay 的时候,存在变量的值是一个绑定,不是具体的值,如果发现代码出现这样的错误。那么请你检查一下绑定的变量是否在其他地方有修改,如果有的话,请不要对他进行修改。

假如有一个简单的界面

    <Grid>
<Grid.RowDefinitions>
<RowDefinition Height="60*"/>
<RowDefinition Height="121*"/>
</Grid.RowDefinitions> <Grid Grid.Row="0">
<TextBlock x:Name="Barry" Margin="10,10,10,10" Text="0" VerticalAlignment="Center"></TextBlock>
<Button Margin="10,10,10,10" Content="add" HorizontalAlignment="Right" Click="Button_OnClick"></Button>
</Grid> <Grid Grid.Row="1">
<TextBlock x:Name="Dagmar" Margin="10,10,10,10" Text="{Binding Text,ElementName=Barry,Mode=OneWay}" VerticalAlignment="Center"></TextBlock>
<Button Margin="10,10,10,10" Content="Set" HorizontalAlignment="Right" Click="Dagmar_OnClick"></Button>
</Grid>
</Grid>

后台代码是

        private void Button_OnClick(object sender, RoutedEventArgs e)
{
var n = int.Parse(Barry.Text);
n++;
Barry.Text = n.ToString();
} private void Dagmar_OnClick(object sender, RoutedEventArgs e)
{
Dagmar.Text = "-1";
}

可以看到,在点击第一个按钮时,会增加两个文本,但是点击 Set 按钮时,就会把下面的文本设为-1,之后无论上面的第一个按钮怎么点击,下面的文本都不会跟着变化。

但是可以看到,设置 Mode 是twoway就可以继续绑定,因为在 WPF 有下面的代码,大概就是判断当前是否可以复制,对源进行赋值,如果不可以对源赋值,就清除绑定,给属性赋值。如果可以对源赋值,那么直接对源赋值。实际UWP也一样,但是我没有找到他的源码。

如果使用了属性,遇到oneway错误的问题,需要自己

2018-8-10-win10-uwp-绑定-OneWay-无法使用的更多相关文章

  1. win10 uwp 绑定密码

    win10 下,密码框无法绑定到ViewModel,Password是不可以绑定. 我们可以自己使用简单方法去绑定 我们之前在WPF 使用绑定密码框,我写了一篇,关于如何绑定,我提供一个我自己试了可以 ...

  2. win10 uwp 绑定多数据

    经常我们需要绑定的数据有多个,当添加到集合控件的对象类型结构比较复杂,我们希望自己来定义排版布局,这时可以使用ItemTemplate用资源的定义 现在有数据 public class caddres ...

  3. win10 uwp 绑定静态属性

    Jasoon 大神问,如何绑定静态属性. 我们经常有静态属性,那么我们如何绑定 假如我们的ViewModel有一个静态属性 public static string CVTE { set; get; ...

  4. win10 uwp 商业游戏

    本文告诉大家去做一个商业游戏,游戏很简单,几乎没有什么技术 游戏的开始,需要添加框架库,于是引用我自己写的库. 首先是创建一个启动页面,这个页面是显示启动的. 在显示启动的时候,是需要加载游戏需要使用 ...

  5. win10 uwp 商业游戏 1.1.5

    本文是在win10 uwp 商业游戏 基础上继续开发,添加一些无聊的游戏 因为在发布几个月,下载量很少,小伙伴说游戏就玩不到几分钟就不想玩,于是我就想加入其他游戏 下面我来告诉大家如何在游戏中添加多个 ...

  6. Win10 UWP应用发布流程

    简介 Win10 UWP应用作为和Win8.1 UAP应用不同的一种新应用形式,其上传至Windows应用商店的流程也有了一些改变. 这篇博文记录了我们发布一款Win10 UWP应用的基本流程,希望为 ...

  7. win10 uwp 商业游戏 1.2.1

    上一个游戏已经告诉大家如何写多个游戏,现在继续写这个无聊的游戏 希望大家在看这篇文章之前先看win10 uwp 商业游戏,在这个文章告诉了大家如何创建游戏. 修改数值 可以从上一篇的博客的游戏看到升级 ...

  8. win10 uwp 手把手教你使用 asp dotnet core 做 cs 程序

    本文是一个非常简单的博客,让大家知道如何使用 asp dot net core 做后台,使用 UWP 或 WPF 等做前台. 本文因为没有什么业务,也不想做管理系统,所以看到起来是很简单. Visua ...

  9. win10 uwp 使用 Microsoft.Graph 发送邮件

    在 2018 年 10 月 13 号参加了 张队长 的 Office 365 训练营 学习如何开发 Office 365 插件和 OAuth 2.0 开发,于是我就使用 UWP 尝试使用 Micros ...

  10. win10 uwp 使用 Border 布局

    在 UWP 写一个界面需要将元素排列,在排列元素的时候有特殊的元素叫容器.容器的意思是元素里面包含元素,在 UWP 用到的容器有很多,也可以自己写一个.简单的容器是 Border 边框控件,如控件说的 ...

随机推荐

  1. git gc干了啥

    前几天在写升级项目的时候发现./git/objects/pack/下的idx和pack文件是只读的,用java在windows下删除会抛异常,然后把只读属性改掉就好了. 于是就想弄清楚这两个文件的作用 ...

  2. R语言与显著性检验学习笔记

    R语言与显著性检验学习笔记 一.何为显著性检验 显著性检验的思想十分的简单,就是认为小概率事件不可能发生.虽然概率论中我们一直强调小概率事件必然发生,但显著性检验还是相信了小概率事件在我做的这一次检验 ...

  3. Android中View的layout mechanism(布局机制)

    layout mechanism Android中View的layout mechanism主要分为两个阶段:measure阶段和layout阶段.layout mechanism按照一定的顺序进行, ...

  4. oracle审计实施

    1.语句审计 Audit session;  Audit session By ; 与instance连接的每个会话生成一条审计记录.审计记录将在连接时期插入并且在断开连接时期进行更新. 保留有关会话 ...

  5. Ubuntu 16.04下OLSR协议安装教程

    OLSR是根据MANET的要求,在传统的LS(Link state)协议的基础上优化的. OLSR中的关键概念是多点转播(MPRs),MPRs是在广播洪泛的过程中挑选的转发广播的节点.传统的链路状态协 ...

  6. Python学习之路7☞装饰器

    一:命名空间与作用域 1.1命名空间 局部命名空间: def foo(): x=1 def func(): pass 全局命名空间: import time class ClassName:pass ...

  7. SDUT-2138_判断可达性

    数据结构实验之图论三:判断可达性 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 在古老的魔兽传说中,有两个军团,一个叫 ...

  8. qt中窗口绘制——图片的绘制

    在qt 中,QPixmap 用于表示一张图片,支持png,jpg格式的加载. QPixmap pm("c:/test.png"); 或者 QPixmap pm; pm.load(& ...

  9. Strange Way to Express Integers

    I. Strange Way to Express Integers 题目描述 原题来自:POJ 2891 给定 2n2n2n 个正整数 a1,a2,⋯,ana_1,a_2,\cdots ,a_na​ ...

  10. Python 进阶02 文本文件的输入输出

    Python 具有基本的文本文件读写功能,Python的标准库提供有更丰富的读写功能. 文本文件的读写主要通过open()所构建的文件对象来实现 创建文件对象 我们打开一个文件,并适用一个对象来表示该 ...