我有一个控件继承自(你猜对了)控制.我想在更改FontSize或Style属性时收到通知.在WPF中,我会通过调用来做到这一点DependencyProperty.OverrideMetadata().当然,有用的东西在Silverlight中没有位置.那么,如何收到这类通知呢?
我最近安装了IE 8,似乎无法获取jquery $(document).ready事件.我有什么特别的考虑因素吗?通俗易懂,这就是我在html中所拥有的一切,它在Chrome和Firefox中按预期工作:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Page full of awesomeness</title>
<script type="text/javascript" src="~/Scripts/jquery-1.3.2.js" />
<script type="text/javascript">
$(document).ready(function() {
alert("Hello?");
});
</script>
</head>
<body>
</body>
Run Code Online (Sandbox Code Playgroud)
在Internet Explorer中,页面只是加载而不会发生意外.没有警报框,我看不到任何报告的javascript错误.这是我不知道的正常事吗?
如何在Vista边栏小工具中显示Silverlight 2.0应用程序?每当我加载带有标准Silverlight 2对象标记的小工具时,我都会获得no-silverlight默认内容而不是应用程序.那么,允许它运行的诀窍是什么?
这就是我目前试图将其拉下来的方式:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Unicode" />
<title>Silverlight Test</title>
<style type="text/css">
body {
margin: 0;
width: 130px;
}
</style>
</head>
<body>
<object data="data:application/x-silverlight," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="GTest.xap"/>
<param name="background" value="transparent" />
<param name="minRuntimeVersion" value="2.0.31005.0" />
<param name="autoUpgrade" value="true" />
<param name="windowless" value="true" />
Get Silverlight
</object>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
是否有我可以在IE中使用的设置影响侧边栏,因此它将允许Silverlight执行?
即使我能在计算机上运行它,这也是一个好的开始.
孩子们,我错过了这里的船.这一直在抬头,我不知道它发生了什么,所以我希望我的家乡可以提供帮助.
在Silverlight中工作时,当我在c#代码中创建绑定时,它们在应用程序运行时永远不会停滞不前.我的xaml的声明性绑定似乎没问题,但是当我在C#中创建绑定时,我做错了.我希望有一些令我眼花缭乱的东西让我失踪.这是一个被粉碎的典型绑定:
TextBlock tb = new TextBlock();
Binding b = new Binding("FontSize");
b.Source = this;
tb.SetBinding(TextBlock.FontSizeProperty, b);
Run Code Online (Sandbox Code Playgroud) 是否有类似的条件,不存在的属性,或者可能使用条件属性只包括方法,如果该符号的方式没有确定?
我正在寻找的东西是这样的:
[Conditional("!SILVERLIGHT")]
private void DoStuffThatSilverlightCant() {...}
Run Code Online (Sandbox Code Playgroud)
如果符号SILVERLIGHT确实存在,则不包括该方法.
我不想使用简单的原因#ifdef是我可以利用编译器删除调用语句而不必将每个单独的调用包装在一个#ifdef.
什么是测试 WPF 自定义控件渲染性能的好(最好是简单)方法?我有几个复杂的控件,其中渲染性能非常重要。我希望能够确保我可以在设计师中绘制出大量的内容,而对性能的影响最小。
我正在尝试生成一个服务器列表,以便在网络上进行浏览,从而生成一个如下所示的树视图:
-Local Server
- Endpoint 1
- Endpoint 2
-Remote
- <Double-click to add a server...>
- Remote Server 1
- Endpoint 1
- Endpoint 2
- Remote Server 2
- Endpoint 1
- Endpoint 2
Run Code Online (Sandbox Code Playgroud)
我的ViewModel看起来像这样:
...
public Server LocalServer;
public ObservableCollection<Server> RemoteServers;
...
Run Code Online (Sandbox Code Playgroud)
那么,如何通过绑定到单个对象和对象列表来构建xaml中的列表呢?我可能会以完全错误的方式思考它,但我的大脑真正希望能做的是这样的事情:
<CompositeCollection>
<SingleElement Content="{Binding LocalServer}">
<!-- ^^ something along the lines of a ContentPresenter -->
<TreeViewItem Header="Remote">
<TreeViewItem.ItemsSource>
<CompositeCollection>
<TreeViewItem Header="<Click to add...>" />
<CollectionContainer Collection="{Binding RemoteServers}" />
</CompositeCollection>
</TreeViewItem.ItemsSource>
</TreeViewItem>
</CompositeCollection>
Run Code Online (Sandbox Code Playgroud)
我觉得必须有一个我缺少的基本元素,这使我无法在这里指定我想要的东西.那个单品有孩子.我确实尝试使用ContentPresenter,但无论出于何种原因,它都无法扩展,即使它选择了 …
或者问题可能更像是"我在这里做了什么?"
我有一个测试应用程序除了观察自己的CPU使用情况外什么都不做.它看起来像这样:
protected PerformanceTrace()
{
Process currentProcess = Process.GetCurrentProcess();
this.cpuCounter = new PerformanceCounter("Process", "% Processor Time", currentProcess.ProcessName);
this.coreCount = Environment.ProcessorCount;
}
private int coreCount;
private DateTime lastCpuRead = DateTime.MinValue;
private float _cpuUsage;
private float CpuUsage
{
get
{
if ((DateTime.Now - this.lastCpuRead) > TimeSpan.FromSeconds(1.0))
{
this._cpuUsage = this.cpuCounter.NextValue();
}
return this._cpuUsage / this.coreCount;
}
}
Run Code Online (Sandbox Code Playgroud)
非常频繁地读取CpuUsage属性.这是事情:
在我的机器上,Environment.ProcessorCount产生的值为2.但是,来自计数器的值通常高达800.我假设它与多核和超线程有关.我该怎么做才能获得我正在寻找的实际价值?(此特定进程的处理器总时间)
如何在xaml中引用类的静态属性?换句话说,我想做这样的事情:
Class BaseThingy {
public static readonly Style BaseStyle;
...
}
Run Code Online (Sandbox Code Playgroud)
<ResoureDictionary ...>
<Style BasedOn="BaseThingy.Style" TargetType="BaseThingy" />
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)
在BasedOn中执行此操作的语法是什么?我认为它会StaticResource在某种程度上涉及使用,但我还没有让它为我工作.
在C#中,是否可以扩展没有构造函数的类?
也许我正在考虑这个错误,只是需要踢裆.我有一个扩展System.Windows.Media.Transform的Silverlight类,随着Silverlight 2的官方发布,Transform现在没有构造函数.所以,当我编译我的类时,我得到一个错误,说'类型'...转换'没有定义构造函数.
是否仍然可以以有用的方式扩展此类?如果没有,我将会画出一大堆悲伤的面孔.
好吧,这个问题很难在一行中提出来.这是交易.如果我有这个XAML:
<ResourceDictionary
x:Class="MyAssembly.MiscResources"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<SolidColorBrush x:Key="MyBrush" Color="Purple" />
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)
然后我在一些C#中有这个:
var dict = new MiscResources();
Run Code Online (Sandbox Code Playgroud)
dict得到创建并且似乎正常运行,但它有0个元素.并不是说这是某种必要的行为,但我完全不明白为什么它不起作用.我错过了什么?
我有一个xaml页面,上面有一个ItemsControl控件.ItemsControl绑定到ObservableCollection的Guests.来宾集合可以包含两种不同类型的对象:USGuest和UKGuest,两者都继承自Guest.是否可以为ItemsControl创建两个(或更多)模板,并根据集合中当前项的运行时类型自动选择它们?
silverlight ×7
.net ×6
c# ×5
wpf ×5
xaml ×3
mvvm ×2
attributes ×1
data-binding ×1
itemscontrol ×1
jquery ×1
multicore ×1
oop ×1
performance ×1
symbols ×1
treeview ×1