标签: silverlight

隐藏继承的成员

我正在寻找一些有效隐藏继承成员的方法.我有一个继承自公共基类的类库.一些较新的后代类继承了依赖属性,这些属性已成为残留,在使用IntelliSense或在可视化设计器中使用类时可能会有点混乱.

这些类是为WPF或Silverlight 2.0编写的所有控件.我知道ICustomTypeDescriptorICustomPropertyProvider,但我很确定那些不能在Silverlight中使用.

它不是可用性问题的功能问题.我该怎么办?

更新

我真正想隐藏的一些属性来自不属于我自己的祖先,而且由于我正在设计的特定工具,我不能将成员隐藏在new操作员身上.(我知道,这太荒谬了)

c# polymorphism silverlight wpf dependency-properties

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

在TextBox中按下确定Enter键

考虑Win Phone 7中的XAML TextBox.

  <TextBox x:Name="UserNumber"   />
Run Code Online (Sandbox Code Playgroud)

这里的目标是当用户按下Enter屏幕键盘上的按钮时,这将启动一些逻辑以刷新屏幕上的内容.

我想专门为此举办一个活动Enter.这可能吗?

  • 事件是特定于TextBox的,还是系统键盘事件?
  • 是否需要检查Enter每个按键?即一些模拟ASCII 13?
  • 编写此要求的最佳方法是什么?

替代文字

silverlight xaml windows-phone-7

40
推荐指数
5
解决办法
3万
查看次数

在.Net中创建一个XAML文件

在我的Silverlight项目中,我想创建一个包含.xaml的程序集,该程序集无法从程序集外部看到.但是,我没有明确的方法可以做到这一点.当我修改.xaml.cs文件中的访问修饰符时,编译器告诉我:

Partial declarations of "My xaml class here" have conflicting accessibility modifiers   
Run Code Online (Sandbox Code Playgroud)

在xaml文件本身中,似乎没有地方放置我的访问修饰符.简而言之,如何设置与我的xaml文件关联的类internal.

.net silverlight wpf xaml

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

Silverlight:延伸到StackPanel中的剩余空间

我有一个带有两个元素的垂直StackPanel:一个Button和一个ListBox.如何将ListBox拉伸到剩余的页面高度?

<StackPanel Height="Auto" Width="Auto">
    <Button Height="30" Width="100" Content="Get Content" x:Name="GetContent"/>
    <ListBox Height="Auto" Width="Auto" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

请注意,我使用Grid容器使其工作:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <Button Width="100" Height="30" Content="Get Content" Click="OnGetContent" Grid.Row="0" Grid.Column="0"/>
    <data:DataGrid x:Name="MyContent" Margin="0,5" Grid.Row="1" Grid.Column="0"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)

silverlight stackpanel

39
推荐指数
3
解决办法
4万
查看次数

在按钮模板上设置CornerRadius

我想要一个定义no的Button CornerRadius和另外两个定义的Button,我该如何实现呢?

<Style TargetType="Button" x:Key="TabButton">
    <Setter Property="Background" Value="White" />
    <Setter Property="TextBlock.TextAlignment" Value="Center" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Button">
                <Border CornerRadius="0" Background="White" BorderBrush="#ccc" BorderThickness="0,1,1,0" >
                    <ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

<Style TargetType="Button" x:Key="TabButtonFirst" BasedOn="{StaticResource TabButton}">
    <Setter Property="CornerRadius" Value="3,0,0,0" />
</Style>

<Style TargetType="Button" x:Key="TabButtonLast" BasedOn="{StaticResource TabButton}">
    <Setter Property="CornerRadius" Value="0,0,0,3" />
</Style>
Run Code Online (Sandbox Code Playgroud)

c# silverlight wpf xaml

39
推荐指数
5
解决办法
6万
查看次数

将ComboBoxes绑定到枚举...在Silverlight中!

因此,web和StackOverflow对于如何将组合框绑定到WPF中的枚举属性有很多很好的答案.但是Silverlight缺少使这成为可能的所有功能:(例如:

  1. 您不能使用接受类型参数的泛型EnumDisplayer样式IValueConverter,因为Silverlight不支持x:Type.
  2. 您不能ObjectDataProvider像在此方法中那样使用,因为它在Silverlight中不存在.
  3. 您不能像#2链接中的注释那样使用自定义标记扩展,因为Silverlight中不存在标记扩展.
  4. 您不能使用泛型而不是Type对象的属性来执行#1版本,因为XAML中不支持泛型(并且使它们工作的黑客都依赖于标记扩展,Silverlight不支持).

大规模的失败!

在我看来,做这项工作的唯一方法是

  1. 欺骗并绑定到我的ViewModel中的字符串属性,其setter/getter执行转换,使用View中的代码隐藏将值加载到ComboBox中.
  2. IValueConverter为我想绑定的每个枚举制作一个自定义.

是否有更通用的替代方案,即不要为我想要的每个枚举反复编写相同的代码?我想我可以使用接受枚举作为类型参数的泛型类来做解决方案#2,然后为我想要的每个枚举创建新类

class MyEnumConverter : GenericEnumConverter<MyEnum> {}
Run Code Online (Sandbox Code Playgroud)

伙计们,你有什么想法?

data-binding silverlight enums xaml

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

Silverlight,Wpf Web App(xbap)还是Click Click?优点和缺点

我们正在开始一个新项目,我正在尝试决定我们应该采用哪种Wpf-esque开发/部署策略.在我们的案例中,我们正在寻找一个非常复杂的商业应用程序,将被100多人(而不是1000人)使用,所以我倾向于点击一次应用程序.我的老板喜欢Silverlight应用程序的想法,因为这意味着更容易部署.那么我们应该跳哪个方向?

答案当然是"它取决于".那么每种方法的优缺点是什么?

我将开始滚球(编辑添加来自artur carvalho的一些答案):


Silverlight的

  • 优点

跨浏览器
不需要完整的框架.
更好地控制用户.如果您的用户登录,您不必担心激活密钥或类似的东西.
它适用于Windows和Mac.
您可以轻松更新所有用户应用.

  • 缺点

无法与客户端的文件系统进行交互等
与完整的Wpf相比具有更少的功能(任何人都有一个很好的资源,文件差异?)
单一窗口
单一版本


Wpf Web App(xbap)

  • 优点

全Wpf.

  • 缺点

单个浏览器
需要完整的框架
无法与客户端的文件系统进行交互等
单一窗口
单个版本


Wpf单击一次

  • 优点

完整的Wpf
可以脱机工作
多个窗口
多个版本(con?)
更好地访问计算机的低级部件
没有停机维护

  • 缺点

单个浏览器
需要完整的框架
稍微(?)更难安装.

.net c# silverlight wpf

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

WPF vs XBAP vs Silverlight ...适合商业应用程序?

我对熟悉的WPF客户端应用程序的大量细节非常熟悉.我知道WPF客户端应用程序支持完整的.NET Framework 3.5,允许硬件加速2D和3D图形,主题,模板,样式,触发器,工作.

我不清楚的是XBAP和Silverlight应用程序中存在或缺少哪些功能和/或细节.我听说由于安全问题,XBAP在某些方面本质上受到限制,但就是这样.

我知道WPF足够强大,可以用于全面的业务应用程序,但是XBAP和Silverlight呢?每个的重要能力和局限是什么?它们中的任何一个都缺少在业务应用程序中使用时会使它们无用的功能吗?

.net silverlight wpf xbap business-application

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

MSBuild命令行错误 - 未安装Silverlight 4 SDK

我的MSBuild命令行如下:

msbuild e:\code\myProject.csproj /p:Configuration=Debug /p:OutputPath=bin/Debug /p:Platform=x86 /p:PlatformTarget=x86

该项目在VS2010中的开发机器上构建良好,但不是上面的命令.我正在运行Win 7 64位.我收到一条错误消息,说我没有安装Silverlight 4 SDK,但我确实如此.我已经阅读了一些帖子,你必须设置Platform = x86但无济于事.以下是完整的错误消息:

Microsoft (R) Build Engine Version 4.0.30319.1
[Microsoft .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation 2007. All rights reserved.

Build started 6/8/2010 4:03:38 PM.
Project "E:\code\dashboards\MyProject2010\MyProject2010.Web\MyProject2010
.web.csproj" on node 1 (default targets).
GenerateTargetFrameworkMonikerAttribute:
Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output fi
les are up-to-date with respect to the input files.
CoreCompile:
Skipping target "CoreCompile" because all output files are up-to-date with resp
ect to the input files. …

msbuild silverlight silverlight-4.0

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

Property和Dependency Property之间有什么区别

依赖项属性的创建方式与属性相同.

是否仅在创建自定义控件时使用依赖项属性?

c# silverlight wpf dependency-properties

36
推荐指数
3
解决办法
2万
查看次数