- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图将几个按钮的可见性绑定(bind)到 View 模型中的一些 bool 值,并使其在设计时工作。我这样做了好几次,从来没有遇到过问题,但现在它不起作用了,我也不知道为什么。请注意,一切正常当我运行应用程序时很好。
我将精华提取到一个单独的应用程序中,但它仍然不起作用!
我的 XAML:
<Window x:Class="BindingTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:bindingTest="clr-namespace:BindingTest"
Title="MainWindow" Height="350" Width="525"
mc:Ignorable="d"
d:DataContext="{d:DesignInstance bindingTest:TestViewModel, d:IsDesignTimeCreatable=true}">
<Grid>
<Grid.Resources>
<BooleanToVisibilityConverter x:Key="BoolToVis"/>
</Grid.Resources>
<StackPanel>
<Button Visibility="{Binding IsButton1Visible, Converter={StaticResource BoolToVis}}">Hallo 1</Button>
<Button Visibility="{Binding Button2Visibility}">Hallo 2</Button>
<Button>Hallo 3</Button>
</StackPanel>
</Grid>
</Window>
我的 View 模型:
public class TestViewModel
{
public bool IsButton1Visible
{
get { return true; }
}
public Visibility Button2Visibility
{
get { return Visibility.Hidden; }
}
}
为了让它在真正的应用程序中工作,我添加到 XAML 的构造函数中:
DataContext = new TestViewModel();
这一切都非常简单,但为什么它在设计器中不起作用??我过去总是让它工作,现在我尝试了几个小时......这不是唯一不起作用的绑定(bind),但为什么连这个都不起作用??
预期结果:
设计器中的结果:
最佳答案
更新:设计时 DataContext 绑定(bind)不起作用的问题是由于错误地为 IsDesignTimeCreatable 属性使用了 d:
命名空间前缀.
所以,改变
d:IsDesignTimeCreatable=True
到
IsDesignTimeCreatable=True
一切都会好起来的。 (我向 MS 提交的错误报告也将使用此信息进行更新。)
当 IsDesignTimeCreatable 以 d:
命名空间为前缀时,设计时 DataContext 绑定(bind)不起作用的问题在 VS2015 和 VS2013 中始终可重现(请参阅评论在问题下方),我决定向 Microsoft 提交错误报告:Issue #1651633 "WPF designer: Designtime DataContext bindings broken?" .
让我们看看微软将如何跟进这个问题。它应该得到解决,因为这样的问题会让开发人员措手不及,并让他重新安装 Visual Studio 而没有任何好处......;)
关于c# - MVVM 绑定(bind)在设计时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31924044/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!