如何在不使用 DataContext 的情况下绑定到 Silverlight 中的本地属性?

2024-02-15

我有一个小问题,但发现了很多不同的、而且大多是模棱两可的答案:

我有以下用户控件,我试图绑定到该控件中的公共属性(事件)。每个人都说我必须使用数据上下文,但是,我真的不想这样做......我只想从控件的内部绑定到属性 XAML...

要求是绑定必须是两种方式,以便 ui 中的任何更改都将反映在其绑定的属性(或更确切地说是集合)中。该集合中的每个 Event 对象也以与此控件相同的方式实现 INotifyPropertyChanged...

任何想法将不胜感激!

public partial class EventEditorWindow : UserControl, INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    public ObservableCollection<Event> events;
    public ObservableCollection<Event> Events
    {
        get { return this.events; }
        set
        {
            if( this.events != value )
            {
                this.events = value;
                this.RaisePropertyChanged("Events");
            }
        }
    }

    private void RaisePropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
        {
            this.VerifyPropertyName(propertyName);
            this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }

    [Conditional("DEBUG")]
    [DebuggerStepThrough]
    public void VerifyPropertyName(string propertyName)
    {
        var currentObjectType = this.GetType();

        if (currentObjectType.GetProperty(propertyName) == null)
        {
            throw new ArgumentException("Property not found", propertyName);
        }
    }
}

谢谢, 布利普兹特。


在构造函数中,设置 DataContext = this.这将有效地使您的代码位于 DataContext 后面。 AFAIK,你不能完全避免某物数据上下文。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不使用 DataContext 的情况下绑定到 Silverlight 中的本地属性? 的相关文章

  • Qt 和 Sqlite 示例

    我正在寻找一些使用 Qt 的示例代码 它是带有 Sqlite 驱动程序的 SQL 模块 我需要示例的主要原因是我之前有 Qt 数据库接口的经验 并且 Sqlite 在字段类型方面有一些奇怪的行为 类型是按字段存储的 而不是按列存储的 The
  • Silverlight 中的应用程序范围字体资源

    我想看看是否可以在 Silverlight 控件中使用应用程序范围的字体 这些字体可以在 application resources 中设置 然后在整个应用程序中使用 他们不需要指定字体的其他内容 例如粗体或斜体 只需指定名称即可 大多数情
  • -ffast-math 可以安全地用于典型项目吗?

    在回答我建议的问题时 ffast math 有评论指出这是危险的 我个人的感觉是 在科学计算之外 是可以的 我还假设严肃的金融应用程序使用定点而不是浮点 当然 如果你想在你的项目中使用它 最终的答案是在你的项目上测试它 看看它有多大影响 但
  • 如何配置 Ninject 来注入 NodaTime IClock

    在我的 NinjectConfigurator 中我有 container Bind
  • 字符串/分段错误

    Program to calculate trip and plan flights define TRIP 6 define NAMEMAX 40 define DEST 1 include
  • 二叉树和快速排序?

    我有一个家庭作业 内容如下 别生气 担心 我是not请你帮我做作业 编写一个程序 通过使用二分查找的快速排序方法对一组数字进行排序 树 推荐的实现是使用递归算法 这是什么意思 到目前为止 这是我的解释 正如我在下面解释的那样 我认为两者都有
  • 如何将 dll 中包含的组件嵌入到 exe 中,以便它可以从内存运行?

    我正在尝试制作一个必须从内存运行的程序 通过Assembly Load bin 如上所述here http www codeproject com Articles 13897 Load an EXE File and Run It fro
  • 如何查看每秒更新的图表中的最后 10 个数据点?

    我有这个代码 private void timer Tick object sender EventArgs e timer Stop for int i 0 i lt TOTAL SENSORS i DateTime d DateTime
  • 将两个垂直滚动条相互绑定

    我在控件中有两个 TextBox 并且它们都有两个 VerticalScrollBar 我想在它们之间绑定 VerticalScrollBars 如果一个向上 第二个也会向上等等 如果可以的话我该怎么做 Thanks 不是真正的绑定 但它有
  • 如何在C++中列出Python模块的所有函数名称?

    我有一个 C 程序 我想导入一个 Python 模块并列出该模块中的所有函数名称 我该怎么做 我使用以下代码从模块中获取字典 PyDictObject pDict PyDictObject PyModule GetDict pModule
  • 对象变空似乎是 Hangfire 中的反序列化问题

    Hangfire 似乎无法反序列化我的原始版本Scheduler对象及其所有状态 我正在调用其 Execute 方法BackgroundJob Enqueue 如下所示 Scheduler new FileInFileOut FileIn
  • 向客户端发送状态码 500 时页面未呈现

    我有一个页面 通用处理程序 我想在该页面上向客户端返回状态代码 500 以指示出现问题 我这样做 Response StatusCode 500 Response StatusDescription Internal Server Erro
  • 括号内声明的对象的范围

    如果我声明一个这样的对象 void main myclass objectA anotherclass true true 0 即 我通过直接调用后者的构造函数来创建一个 objectA 和另一个对象 anotherclass anothe
  • 模板类中模板方法专门化的 clang 自动返回类型错误?

    试图理解另一个问题 https stackoverflow com questions 38054055 clang fails to compile template function with auto return type insi
  • 用 std::generate_n 填充 std::map

    我想填写一个std map using std generate n但无法让它发挥作用 我尝试过的是这样的事情 unsigned number of pairs 5 std map
  • 如何检查日期时间是否发生在今天?

    有没有比下面的代码更好的 net 方法来检查 今天 是否发生了 DateTime if newsStory WhenAdded Day DateTime Now Day newsStory WhenAdded Month DateTime
  • 对 Action 方法的两个并行 ajax 请求排队,为什么?

    我正在使用 ASP NET MVC 开发一个视频网站 我希望在我的应用程序中拥有的一项功能是转码视频 但由于转码过程可能非常耗时 我想向客户端用户展示该过程的进度 因此 我的架构是使用一个控制器操作来处理整个转码过程 并将其进度写入存储在服
  • 如何正确处置注入的DLL线程?

    我将一个 DLL 注入到目标进程中 以在玩 MMORPG 时充当助手 当前功能将按键转换为鼠标点击 因为 MMORPG 要求用户移动鼠标才能实现某些功能 这是我所鄙视的 假设我出于某种原因想要取消注入 DLL 我该怎么做呢 这个方法干净吗
  • 将二进制长字符串转换为十六进制 C#

    我正在寻找一种将长二进制字符串转换为十六进制字符串的方法 二进制字符串看起来像这样 0110011010010111001001110101011100110100001101101000011001010110001101101011 我
  • 获取线段上最接近另一个点的点[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我想找到线段AB上最接近另一个点P的点 我的想法是 Get a1 and b1由直线公式y1 a1x b1 使用 A 点

随机推荐

  • Web Api 请求内容在操作过滤器中为空

    我有一个名为Log尝试将请求和响应的内容记录到文本文件中 我已将其放在我的控制器上以涵盖所有操作 在LogAttribute我正在以字符串形式读取内容 ReadAsStringAsync 所以我不会丢失请求正文 public class L
  • 如何删除带或不带空格的空行

    我有一个大字符串 我用换行符分割它 如何删除所有空行 仅限空白 伪代码 for stuff in largestring remove stuff that is blank 尝试列表理解和string strip http docs py
  • C++17 赋值排序:GCC 中仍未实现?

    我尝试了以下代码作为实现交换的天真的尝试R and B中的字节数ABGR word include
  • 为什么所需的 Startup 类不需要实现适当的接口,例如 IStartup?

    使用武士刀 为什么Startup类不应实现各自的接口 例如 interface IStartup void Configuration IAppBuilder app public class MyStartup IStartup publ
  • 在线求职门户系统用例图

    我想要一个在线求职门户系统的正确用例图 这是我的尝试 我有些疑惑 我看不出在哪里制作 登录 用例 这是该系统的一个重要用例 该用例图没有显示简单访问者和注册访问者之间的区别 前者可以查看职位空缺 查看建议 而无需拥有帐户 后者可以查看职位空
  • 使用 PyYAML.dump() 生成锚点?

    我希望能够在 PyYAML 的 dump 函数生成的 YAML 中生成锚点 有没有办法做到这一点 理想情况下 锚点应与 YAML 节点具有相同的名称 Example import yaml yaml dump a 1 2 3 a 1 2 3
  • 使用 php curl 抓取动态加载网站

    我是抓取新手 已经正式废弃了两个网站 但是当我尝试抓取动态加载网站时 问题出现了 当网站用 JavaScript 渲染时 我无法抓取网站的内容 有什么方法可以使用该网站的内容php curl或任何其他相关客户PHP 这就是我到目前为止所做的
  • 等到所有 jQuery Ajax 请求完成?

    如何让一个函数等待 直到所有 jQuery Ajax 请求在另一个函数内完成 简而言之 我需要等待所有 Ajax 请求完成后才能执行下一个请求 但如何呢 jQuery 现在定义了一个当函数 http api jquery com jQuer
  • F# 将元素添加到序列

    一个简单的问题我找不到答案 如何将元素添加到序列中 例如 我有一个 seq 和一个 newElem XElement 我想附加到它 Thanks 序列追加 gt let x 1 5 val x seq
  • 与普通对象类似地访问 JavaScript 映射

    我正在使用地图 因为我想存储一个对象作为键 我的问题是 我可以像访问普通对象一样访问地图吗 例如 let m new Map let obj foo bar m obj baz console log m obj 这应该按原样正常工作吗 还
  • 返回 R 中函数的函数

    我正在尝试创建一个创建并返回新函数的函数 我已经尝试过以下方法 但它不起作用 我想 myfunc lt function W myfunc2 function X Y W X return Y return myfunc2 我希望能够在 m
  • 示例设置.xml

    如何配置settings xml在马文 另外 请分享一个示例settings xml 这是带有注释的股票 settings xml 完整 未切割的文件位于底部 License
  • php:从字符串中删除 URL

    我有很多字符串 twitter 推文 当我回显它们时 我想从中删除链接 我无法控制该字符串 即使所有链接都以 http 开头 它们也可以以 或 结尾 不 并且后面是否有空格 此外 有时链接与其前面的单词之间没有空格 此类字符串的一个示例 T
  • 将 C++ 实例方法与 C 回调函数混合

    problem 我有一个来自 C 库的以下 C 回调签名Foo void RequestCallbackFunc int 该库还提供了用于注册所述回调的实用函数 extern void SetRequestCallback Requesta
  • 为 Mac 构建 libunwind

    我正在尝试在 Mac 上为 iOS 和 Mac 构建 libunwind 我能够解决一些编译问题 在 Mac 上构建 我使用配置项目 configure CC cc Ae D XOPEN SOURCE 500 并复制了elf h来自谷歌的
  • 检查函数参数类型是 Pythonic 吗?

    我知道 Python 中通常不赞成对函数参数进行类型检查 但我认为我已经想到了这样做是有意义的 在我的项目中 我有一个抽象基类Coord 有一个子类Vector 它具有更多功能 如旋转 改变大小等 数字列表和元组也将返回 Trueisins
  • Android GridView 有类别吗?

    是否可以使用类别或某种带有GridView在安卓中 我整理了一个简短的说明来说明我的想法 多谢 您可以使用粘性网格标题 http tonicartos github com StickyGridHeaders 直接使用库或作为模型来创建您自
  • 使用 mkl,加载共享库时出错:libmkl_intel_lp64.so

    我几乎是新使用的mkl图书馆 如果这看起来很愚蠢 请原谅 我尝试运行教程中的示例 here https software intel com en us node 529744 with ifort mkl dgemm example f
  • 使用现有数据导入 Magical Record

    我正在尝试使用Magical Record将数据导入到我的CoreData db 我正在实体工作Person眼下 A Person has firstName lastName personID属性 我知道我不需要 idString 我不在
  • 如何在不使用 DataContext 的情况下绑定到 Silverlight 中的本地属性?

    我有一个小问题 但发现了很多不同的 而且大多是模棱两可的答案 我有以下用户控件 我试图绑定到该控件中的公共属性 事件 每个人都说我必须使用数据上下文 但是 我真的不想这样做 我只想从控件的内部绑定到属性 XAML 要求是绑定必须是两种方式