2011-01-16 12 views
10

Bir Phone 7 app yazıyorum ve işaretlemesinde sabit değerler referans istiyoruz. Bunu yapmanın yolunun x:Static aracılığıyla olduğuna inanıyorum.Phone7 Silverlight uygulamaları için {x: Static ...} uzantısını nasıl kullanabilirim?

Ancak, Visual Studio bu x:static hiçbir bilgiye sahip iddia tutar. Burada gizli sos nedir?

<phone:PhoneApplicationPage 
    ... 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    ... 

    <Image Height="{x:Static App.ImageHeight}" ... /> 
    ... 

Ve tabii ki: Ben şu var

public partial class App : Application 
{ 
    public const double ImageHeight = 100; 
    ... 

hata mesajı "x: Statik 'türü. Bulunmadı doğrulayın ...". Windows Phone 7 desteği bu biçimlendirme uzantısı için tarayıcıya ne de Silverlight için ne Silverlight -

cevap

17

x:Static WPF kullanılabilir.

zamanki geçici çözüm bu şekilde basitçe istediğiniz statik özelliklere sarmak özelliklere sahip bir (statik olmayan) sınıfı oluşturmak ve bir kaynak olarak bunun bir örneğini oluşturabilir ve buna karşı bağlamaktır.

Örnek *: kaynakları olarak

public class StaticSideEnums 
{ 
    public static Side Bid { get { return Side.Bid; } } 
    public static Side Ask { get { return Side.Ask; } } 
} 

(app.xaml):

<toolkit:ListPicker Name="picker" SelectionChanged="OnSelectionChanged"> 
    <toolkit:ListPickerItem Content="Buy" Tag="{Binding Bid, Source={StaticResource StaticSideEnums}}" /> 
    <toolkit:ListPickerItem Content="Sell" Tag="{Binding Ask, Source={StaticResource StaticSideEnums}}" /> 
</toolkit:ListPicker> 

* Bu örnek alınır: kullanılan XAML

<ResourceDictionary> 
    <local:StaticSideEnums x:Key="StaticSideEnums"/> 
</ResourceDictionary> 

Using localized strings in a ListPicker populated from Enum

+0

bir cevap Tamam, bu sadece sabit bir iş için çok iş gibi görünüyor. Ama, tamam, eğer böyle olursa, işte böyle. Teşekkürler. –

+2

Özel kullanım durumunuz için, bir Stil daha iyi olabilirdi? Ardından, Yüksekliği istediğiniz herhangi bir şeye ayarlayabilir, tüm Görüntü öğelerinde o Stili kullanabilir ve "bir kez değiştir, her yere uygula" düzeyini elde edebilirsiniz. –

+0

Bu "x: Statik", bir başkent "S" ile. XAML büyük/küçük harfe duyarlıdır ... –

İlgili konular