0

我想做的是使用 C# 编写 ContentTemplate 的代码而不是 XAML。这是我拥有的 XAML 代码:

<phone:PhoneApplicationPage.Resources>
        <DataTemplate x:Key="AnyButton">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="140"/>
                    <ColumnDefinition Width="310"/>
                </Grid.ColumnDefinitions>
                <Image Grid.Column="0" Source="/Images/AnyImage.png" Height="80" Width="80" HorizontalAlignment="Left" Margin="15,0,0,0"/>
                <TextBlock Grid.Column="1" TextWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Left" Text="AnyText" FontSize="30" FontFamily="{StaticResource PhoneFontFamilySemiLight}" Margin="0,0,0,0"/>
            </Grid>
        </DataTemplate>
</phone:PhoneApplicationPage.Resources>

这是我在 ContentPanel 中使用 ContentTemplate 的代码:

<Button x:Name="MyButton" 
        Click="MyButton_Click" 
        ContentTemplate="{StaticResource AnyButton}" 
        Width="492" Height="130" 
        Margin="6,0,6,-6" 
        Background="#003d0a"/>

现在,我的问题是,是否可以使用 C# 编写整个代码?

4

1 回答 1

2

如果您尝试以样式为目的进行此操作,请按以下方式进行:

<Style x:Key="MyButton" TargetType="Button">
            <Setter Property="Width" Value="460"></Setter>
            <Setter Property="Background" Value="/Images/AnyImage.png"></Setter>
        </Style>

在 app.xaml 或 PhoneApplicationPage.resources 中定义它,并在 xaml 中的按钮控件中将样式设置为 MyButton。例如:

<Button style={StaticResource MyButton}/>

如果您还想为图像定义宽度和高度,您可以通过在值部分定义样式来以相同的方式设置该样式的值。例如:

<style x:key ="MyImage" TargetType="Image">
  <setter property="Width" Value="150"/>
</style>

在我的按钮样式中定义背景值 ={StaticResource MyImage}

于 2013-12-28T17:24:15.133 回答