Tôi không thể làm việc này trong Silverlight, vì vậy tôi đã tạo hai dự án thử nghiệm. Một dự án WPF đơn giản và một dự án Silverlight đơn giản mà cả hai chỉ làm một việc: thiết lập một biến đọc công khai tĩnh trong mã, và sử dụng nó trong một XAML xương hoàn toàn trống rỗng. Trong WPF, các công trình không bị cản trở. Trong Silverlight, tôi nhận được cảnh báo trình biên dịch và thời gian chạy lỗi sau:Sử dụng các đối tượng tĩnh trong XAML đã được tạo trong mã trong Silverlight
Cảnh báo 2 Thẻ 'tĩnh' không tồn tại trong không gian tên XML 'http://schemas.microsoft.com/winfx/2006/xaml ...
và
thuộc tính không hợp lệ value {x: Static SilverlightApplication3: Page.Test} cho văn bản thuộc tính. [Dòng: 7 Vị trí: 25]
Tôi giả định rằng điều này không được hỗ trợ trong Silverlight 2, hoặc tôi chỉ thiếu một cái gì đó thực sự đơn giản? Dưới đây là đoạn code đầy đủ cho cả hai chỉ trong trường hợp đó là thứ hai:
public partial class Window1 : Window
{
public static readonly string Test = "test";
public Window1()
{
InitializeComponent();
}
}
<Window x:Class="WpfApplication4.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300"
xmlns:WpfApplication4="clr-namespace:WpfApplication4">
<Grid>
<TextBlock Text="{x:Static WpfApplication4:Window1.Test}" />
</Grid>
</Window>
và đây là phiên bản SL:
public partial class Page : UserControl
{
public static readonly string Test = "test";
public Page()
{
InitializeComponent();
}
}
<UserControl x:Class="SilverlightApplication3.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:SilverlightApplication3="clr-namespace:SilverlightApplication3"
Width="400" Height="300">
<Grid x:Name="LayoutRoot" Background="White">
<TextBlock Text="{x:Static SilverlightApplication3:Page.Test}" />
</Grid>
</UserControl>
Điều đó thật tệ. Cảm ơn các liên kết mặc dù. Tôi đã không tìm thấy bất cứ điều gì dứt khoát khi tôi tìm kiếm, nhưng người trả lời trong bài bạn liên kết là một cơ quan trên SL – Rich
WhyTF không hỗ trợ họ ?! –