小编Mik*_*ras的帖子

如何在Silverlight XAML中引用另一个命名空间中的绑定转换器?

由于您显然无法在C#中创建Silverlight DataTemplate,因此我尝试在XAML中创建一个.我有一个我需要引用的转换器,我在另一个命名空间中用C#定义.我试过这样做:

<UserControl.Resources>
        <DataTemplate x:Key="PriceTemplate">
            <TextBlock Text="{Binding Price, Converter={Converters:PriceConverter}}" />
        </DataTemplate>
    </UserControl.Resources>
Run Code Online (Sandbox Code Playgroud)

转换器是指向正确名称空间的xmlns.但是,我得到一个编译错误,说:

类型'转换器:PriceConverter'用作标记扩展名,但不是从MarkupExtension派生的.

我尝试将System.Windows.Markup.MarkupExtension添加为我的转换器的父级,但它显然在Silverlight中不存在.

如何在XAML中引用我的转换器,而不必在XAML中重写它?

c# silverlight markup xaml datatemplate

2
推荐指数
1
解决办法
5184
查看次数

AngularJS - 你能在javascript块中引用转发器变量吗?

简单地说,我正在使用AngularJS尝试做这样的事情:

<ul>
  <li ng-repeat="thing in things">
    <a id="mybutton" href="link{{thing.Id}}">Click</a>
    <script type="text/javascript">
      $("#mybutton").click(function()
      {
        alert("Id: " + {{thing.Id}});
      });
    </script>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

这两个,并警告("Id:"+ thing.Id); 屈服误差(未分别定义未经预期的标记'{'和'事物').有没有办法可以访问thing.Id从转发器范围内的一个javascript块?

为了添加一个实际的原因,我想使用该值以及javascript中的一些其他内容(我可以访问jquery)来构建和重定向到URL.

javascript angularjs

2
推荐指数
1
解决办法
1075
查看次数

AngularJS指令范围不及时绑定

我的AngularJS指令遇到了绑定时间问题.它的控制器看起来像这样:

controller: function($element, $scope)
{
    $element.find("input").bind("blur", function()
    {
        SendUpdate();
    });

    $scope.Subtract = function()
    {
         Add(-$scope.step);
    }

    $scope.Add = function()
    {
        Add($scope.step);
    }

    function Add(amount)
    {
        $scope.model = parseInt($scope.model) + parseInt(amount);
        console.log("Model: " + $scope.model);
        SendUpdate();
    }

    function SendUpdate()
    {
        $scope.$emit("ProcessUpdate");
    }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切正常,从100开始,加10,打印出Model:110,如预期的那样.但是,当事件由提供模型绑定的变量的父范围处理时,它在事件触发时尚未收到更新的值:

$scope.$on("ProcessUpdate", function()
{
    console.log("MyValue: " + $scope.MyValue);
});
Run Code Online (Sandbox Code Playgroud)

打印出MyValue:100,即使它是$ scope.MyValue,它绑定到指令的模型变量(我也使用"="绑定字符).

事实上,该值正在更新.如果我按下一个打印出相同内容的按钮:

console.log("MyValue: " + $scope.MyValue);
Run Code Online (Sandbox Code Playgroud)

它打印出MyValue的正确值:110.所以这显然是一个时间问题.看起来事情按此顺序发生:

  1. 更新指令的$ scope.model.
  2. 点燃活动.
  3. 处理活动.
  4. 更新父级的$ scope.model.

我需要的是4在1之后立即发生,因为当事件被触发时我需要父范围是最新的.

我应该采用不同的方式吗?我不想通过事件传递更新的值,因为任何数量的这些指令都可以触发,并且它们需要全部处理父范围.我不想弄清楚改变了什么,并相应地注入它.我只想在父作用域收到指令的新值后触发事件.

谢谢.

scope directive timing angularjs

2
推荐指数
1
解决办法
1748
查看次数

我怎样才能覆盖外部CSS?

我正在使用YUI Javascript框架,它为我提供了一个带有css文件的日历小部件.这些包含在我的Site.Master文件的顶部.我想覆盖与小部件相关的样式,但我似乎无法弄清楚如何.

我已经尝试为小部件的类添加一个条目:

.yui-calendar
{
 height:10;
 width:10;
}
Run Code Online (Sandbox Code Playgroud)

在我的本地css文件和主文件中的样式标记中.当我使用Internet Explorer的开发人员工具查看页面的样式时,它列出了该类样式的3个来源:我的本地css文件,页面的ASP.Net视图和外部YUI css.它从不引用主文件,即使我在本地css文件中有类,该样式也没有出现在样式的开发人员工具列表中(我没有在列表中看到.yui-calendar我).

所以问题是,从外部css文件覆盖进入类的样式的正确方法是什么?

html css asp.net yui

1
推荐指数
1
解决办法
1万
查看次数

我如何捕获C++异常?

在我的C++应用程序中,我正在调用System(),有时会崩溃应用程序(这是一项服务).我想捕获抛出的异常并记录它.我不知道究竟要抓到什么,我甚至不能做一揽子:

try
{
   system(myCommand);
}
catch (...)
{
   Log("Error!"); // this is a custom log method
}
Run Code Online (Sandbox Code Playgroud)

这不记录任何事情.不应该抓住每种类型的例外吗?更重要的是,我如何知道System()方法将抛出什么以便我知道要捕获什么?

c++ exception-handling

1
推荐指数
1
解决办法
693
查看次数

ASP.Net MVC:我可以使用FormCollection来确定选择了哪个单选按钮吗?

我正在使用FormCollection在ASP.Net MVC视图上获取客户端输入.我正在使用一个复选框,我只是检查FormCollection的AllKeys列表是否包含我正在检查的复选框的名称.我现在需要切换到单选按钮,但由于输入需要具有相同的名称(这对我来说有点傻),我无法确定选择了哪个单选按钮.

或者我可以吗?

html asp.net-mvc

0
推荐指数
1
解决办法
6722
查看次数