簡體   English   中英

在后面的代碼中將樣式設置為文本塊

[英]Set style to textblock in code behind

如何為WinRT應用程序在C#中為TextBlock設置樣式?

textblock.Style = ???

我在這里可以做什么?

“批准”的答案沒有解決如何在C#代碼隱藏中執行此操作的問題,這就是我以為原始帖子所要求的。

解決此問題的方法:例如,如果您有一個基於Button的模板控件,該控件旨在顯示SearchBox彈出窗口,則可以在按鈕初始化代碼中定義彈出窗口,如下所示:

        SearchBox searchBox = new SearchBox()
        {
            Style = Resources["SearchBoxCustomStyle"] as Style,
        };

在這里,自定義資源已應用於SearchBox.Style屬性。 上面的語法假定控件的XAML中有資源引用,例如:

<Button.Resources>
    <ResourceDictionary Source="ms-appx:///Control_Assembly_Name/StandardStyles.xaml">
    </ResourceDictionary>
</Button.Resources>

在這種情況下,包含自定義按鈕控件的項目包含一個StandardStyles.xaml,它定義了資源“ SearchBoxCustomStyle”,如下所示:

<Style x:Key="SearchBoxCustomStyle" TargetType="SearchBox">
.
.
</Style>

在XAML / C#中,您可以在元素本身上設置單個樣式屬性。

<TextBox Background="#FFEED908" FontSize="18" FontFamily="Stencil" x:Name="textBox"  Text="TextBox" />

如果直接在VS中編輯XAML,則將獲得Intellisense,可讓您發現各種屬性。 但是,選擇項目並使用“屬性”對話框窗口以可視方式編輯屬性要容易得多。

如果要使用可重用的樣式,則必須選擇該元素,然后選擇“格式”->“編輯樣式”->“編輯副本”(或“創建空白...”)。 然后,您將進入樣式設計模式,並可以在視覺上或直接在XAML中更新樣式。 然后,您可以在其他元素上重用該樣式,如下所示:

<TextBox Style="{StaticResource MyStyle}" x:Name="textBox"   />

您將必須添加內聯樣式(css)格式。 例如,如果您希望背景為黑色,高度為20px,寬度為20px,則可以執行以下操作:

textblock.style = "background-color: black; height: 20px; width: 20px;";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM