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. 如何用最暴力的方法改写Liferay的原生portlet

    最近在论坛上看到有人问如何改写Liferay原有的calendar portlet. 然后研究了一下,直接从portal中把calendar portlet的源码拷贝出来,然后修改再部署上去,但是这个 ...

  2. Laravel 虚拟开发环境 Homestead

    简介 Laravel 致力于让你在 PHP 开发过程中更加轻松愉快,这其中也包括本地开发环境的搭建. Vagrant 提供了一种简单.优雅的方式来管理和配置虚拟机. Laravel Homestead ...

  3. element-ui el-time-picker

    获取时分秒时间 <el-time-picker is-range v-model="time" value-format="HH:mm:ss" range ...

  4. 洛谷 P1119 灾后重建 最短路+Floyd算法

    目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例 输出样例 说明 思路 AC代码 总结 题面 题目链接 P1119 灾后重建 题目描述 B地区在地震过后,所有村 ...

  5. Seata 0.7.0 正式发布

    Seata 是 阿里巴巴 开源的 分布式事务中间件,以 高效 并且对业务 0 侵入 的方式,解决 微服务 场景下面临的分布式事务问题.Seata 0.7.0 已正式发布,本次共合并59pr,主要包括: ...

  6. 【JZOJ4817】【NOIP2016提高A组五校联考4】square

    题目描述 输入 输出 样例输入 3 4 1 1 0 1 0 1 1 0 0 1 1 0 5 1 1 2 3 2 1 3 2 3 2 3 4 1 1 3 4 1 2 3 4 样例输出 1 1 1 2 2 ...

  7. MacOS代理设置(桌面应用代理设置&Terminal代理设置)

    MacOS代理分为桌面应用代理设置&Terminal代理设置,使用代理软件默认只会开启桌面应用代理,Terminal代理需要单独配置   桌面应用代理设置 Terminal查看桌面应用代理设置 ...

  8. hihocoder 1586 ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛-题目9 : Minimum【线段树】

    https://hihocoder.com/problemset/problem/1586 线段树操作,原来题并不难..... 当时忽略了一个重要问题,就是ax*ay要最小时,x.y可以相等,那就简单 ...

  9. Unity3dShader学习合集暂存

    http://www.cnblogs.com/flappy/archive/2012/08/10/2631348.html 1. Unity3d的參考手冊, 里面涵盖Unity3d官方的描写叙述 ht ...

  10. Java中的Runnable、Callable、Future、FutureTask的区别与示例

    Java中存在Runnable.Callable.Future.FutureTask这几个与线程相关的类或者接口,在Java中也是比较重要的几个概念,我们通过下面的简单示例来了解一下它们的作用于区别. ...