【问题标题】:TextBox Placeholder text while also Binding to ListBox.SelectedItemTextBox 占位符文本同时也绑定到 ListBox.SelectedItem
【发布时间】:2012-09-17 07:16:08
【问题描述】:

如何在将文本框绑定到 ListBox 的选定项的同时仍然拥有占位符文本 (.Text = "Whatever")?

【问题讨论】:

    标签: c# .net binding microsoft-metro


    【解决方案1】:

    您希望此占位符文本何时显示?什么时候没有 SelectedItem?

    您可以使用PriorityBinding,它允许您提供绑定列表,它将使用第一个产生结果的绑定。

    类似:

    <TextBox> 
       <TextBox.Text>
         <PriorityBinding>
           <Binding Path="myListBox.SelectedItem"/>
           <Binding Source="Default Text"/>
         </PriorityBinding>
       </TextBox.text>
     </TextBox>
    

    【讨论】:

    • :O - 好主意!谢谢@Richard :) (是的,只有当没有选定的项目/正在添加尚未被赋予标题的新项目时)
    • 查看我的编辑,不确定我的第一个建议是否会事后诸葛亮,因为这取决于 SelectedItem 不存在(导致绑定失败)而不仅仅是 null... 使用PriorityBinding 应该解决这个问题。
    • 呃哦,好像 PriorityBinding 不起作用。有替代方案吗?PriorityBinding is not supported in a Windows Metro style project.
    • 啊,抱歉,我从来没有玩过 Metro 风格的项目!绑定上的 TargetNullValue (msdn.microsoft.com/en-us/library/…) 怎么样?
    • 哈哈哈,以前遇到过同样的问题,真是苦不堪言! =) 伙计,不用担心,很高兴它有帮助。
    猜你喜欢
    • 2016-02-02
    • 2010-11-25
    • 2014-03-22
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    相关资源
    最近更新 更多