小编Nic*_*tch的帖子

如何在Silverlight中调试XAML分析错误?

我半定期地遇到以下问题:我对XAML或它使用的一些资源进行了更改,当我在调试模式下加载Silverlight项目时,它只能获得旋转的Silverlight加载动画.

我已经尝试将VS08调试器附加到进程,但此时它没有做任何事情(一旦我在Silverlight中但之前没有工作正常.)

根据以前的经验,我注意到当XAML或其中的资源出现问题时会发生这种情况,但到目前为止我唯一的解决方案是逐行剖析代码,直到我发现问题为止.

有没有简单的方法来调试/诊断这些情况?

UPDATE

我在一些帮助下发现了这个问题,但它仍然没有提供调试这些类型问题的好方法.

debugging silverlight xaml silverlight-3.0

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

在Silverlight中设置初始控制焦点

我正在寻找一种方法来自动将Silverlight UserControl的初始焦点设置为特定控件.我有一个登录页面与用户名的文本框,我想有它,这样一旦用户进入页面的光标已经定位,并在用户名文本框等,而不必让他们点击文本框.

我尝试在UserControl的Loaded事件中调用.Focus,但没有成功.有人知道怎么做吗?

.net silverlight xaml silverlight-2.0

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

在SubmitChanges()之前验证Linq2Sql

调用SubmitChanges()之前,任何人都可以告诉我是否/如何在Linq2Sql中验证数据上下文中的更改.我的情况是我创建一个上下文,执行多个操作并添加许多插入以及其他处理任务,然后如果提交失败则回滚.

我想做的是在完成某些任务后进行某种"Validate()"调用,这样我就可以在提交整个作业之前处理它.

.net c# linq validation linq-to-sql

6
推荐指数
2
解决办法
1703
查看次数

如何以编程方式修改DataTemplate?

我正在尝试以编程方式将事件和元素添加到Silverlight 3.0应用程序中的DataTemplate.我有一个带有依赖项属性的用户控件,我想在其中设置模板,调整它,然后将修改后的版本设置为内部控件.

我的想法是采用进来的DataTemplate,读取它的XAML,调整它,然后使用XamlReader创建一个可以设置为内部控件的修改后的DataTemplate.这种方法的问题是我不知道如何从原始模板中获取XAML(如果它甚至可能.)例如:

protected virtual void OnItemTemplateChanged(DependencyPropertyChangedEventArgs e)
{
    // Get the original Xaml from the set template
    //string originalXaml = ???

    // Modify the template
    string newXaml = originalXaml.Replace("foo", "bar"); // for example

    // Create a new template from the modified XAML
    DataTemplate newTemplate =  (DataTemplate)XamlReader.Load(newXaml);

    // Update the inner template
    this._childDropdown.ItemTemplate = newTemplate;
}
Run Code Online (Sandbox Code Playgroud)

有人知道:1)是否有办法读取原始XAML,或2)另一种以编程方式修改DataTemplate的方法.

谢谢,

silverlight xaml datatemplate silverlight-3.0

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

将事件处理程序附加到代码生成的DataTemplate

我有一个与相关的问题:我正在尝试将事件附加到我的StackPanel,但在使用XamlReader时似乎没有连接.我无法调用ChildItem_Load方法.有谁知道这样做的方法?

除了这个事件,代码工作正常.

this._listBox.ItemTemplate = (DataTemplate) XamlReader.Load(
                    @"<DataTemplate xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"">
                          <Border>
                              <StackPanel Loaded=""ChildItem_Loaded"">
                                  <TextBlock Text=""{Binding " + this._displayMemberPath + @"}"" />
                              </StackPanel>
                          </Border>
                      </DataTemplate>"
Run Code Online (Sandbox Code Playgroud)

xaml datatemplate silverlight-3.0

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

在Chrome中关闭Silverlight插件警告

我正在使用Silverlight 3应用程序并使用Chrome作为我的测试浏览器.在调试时我不断收到弹出消息:

插件没有响应

以下插件没有响应:未知你想阻止我吗?

是/否

如何在Chrome中将其关闭?VS可以设置为仅在调试时将其关闭吗?调试时真的很痛苦.

谢谢,

silverlight google-chrome

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

如何在Gridlight 3.0中将Grid的Cursor属性绑定到我的ViewModel的属性?

我正在尝试将IsLoading属性绑定到UI的LayoutRoot Grid的Cursor属性.我试图让主应用程序光标变成沙漏,只要属性说它正在加载.

我绑定财产如下:

<Grid Cursor="{Binding IsLoading, Converter={StaticResource CursorConverter}}">
Run Code Online (Sandbox Code Playgroud)

键"CursorConverter"映射到资源中的BoolToCursorConverter.转换器代码是:

public class BoolToCursorConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (parameter == null)
            return ((bool)value == true) ? Cursors.Wait : Cursors.Arrow;
        return false;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        Cursor cursor = value as Cursor;
        if (cursor != null)
            return cursor == Cursors.Wait ? true : false;
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试运行它时虽然我得到了XamlParseException"给定的密钥在字典中不存在."

任何帮助将不胜感激,谢谢,

c# silverlight xaml silverlight-3.0

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

如何获取WP7内容项目中的资产列表?

我可以加载纹理:

Texture2D texture = ContentManager.Load<Texture2D>(assetName);
Run Code Online (Sandbox Code Playgroud)

但是如果文件不存在,则抛出异常.有没有办法确定给定名称的请求资产是否实际存在?

我使用后缀数字计数器(art001.png,art002.png,...)存储一系列资产,并希望通过简单的调用来预先加载纹理.

c# xna content-management windows-phone-7

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

FirstOrDefault返回意外值

如果我设置了一个默认值,如果该组为空并且调用.FirstOrDefault()了一个不满足的条件,我没有得到我的默认值,但是类型的默认值:

int[] list = { 1, 2, 3, 4, 5 };
Console.WriteLine(list.DefaultIfEmpty(1).FirstOrDefault(i => i == 4)); // Outputs 4, as expected
Console.WriteLine(list.DefaultIfEmpty(1).FirstOrDefault(i => i > 5));  // Outputs 0, why??
Run Code Online (Sandbox Code Playgroud)

这似乎不直观,因为我设置.DefaultIfEmpty()为1.为什么这不输出1?

.net c# linq

4
推荐指数
2
解决办法
626
查看次数

这种多线程Singleton更有效吗?

我在多线程环境中有一个高吞吐量的Singleton.通常我会做这样的事情:

public static Foo GetInstance()
{
    lock (Foo._syncLock)
    {
        if (Foo._instance == null)
            Foo._instance = new Foo();
        return Foo._instance;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道如果执行以下操作会更有效率,因为它会避免连续的线程锁定,或者是否存在隐藏的问题?

public static Foo GetInstance()
{
    if (Foo._instance != null)
        return Foo._instance;
    lock (Foo._syncLock)
    {
        if (Foo._instance == null)
            Foo._instance = new Foo();
        return Foo._instance;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# singleton multithreading

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