为什么';水平内容对齐在Silverlight中的工作与在WPF中的工作相同吗?

为什么';水平内容对齐在Silverlight中的工作与在WPF中的工作相同吗?,silverlight,textbox,centering,Silverlight,Textbox,Centering,在WPF中,tb.HorizontalContentAlignment=horizontallignment.Center起作用: WPF XAML: <Window x:Class="TestText2343434.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

WPF中,
tb.HorizontalContentAlignment=horizontallignment.Center
起作用

WPF XAML:

<Window x:Class="TestText2343434.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">
    <Grid>
        <StackPanel x:Name="MainContent" Margin="10" HorizontalAlignment="Left"/>
    </Grid>
</Window>
using System.Windows;
using System.Windows.Controls;

namespace TestText2343434
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            TextBox tb = new TextBox();
            tb.Width = 30;
            tb.MaxLength = 1;
            tb.HorizontalContentAlignment = HorizontalAlignment.Center;

            MainContent.Children.Add(tb);
        }
    }
}
<UserControl x:Class="TestContent222.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
  <Grid x:Name="LayoutRoot">
        <StackPanel x:Name="MainContent" Margin="10" HorizontalAlignment="Left"/>
  </Grid>
</UserControl>
using System.Windows;
using System.Windows.Controls;

namespace TestContent222
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();

            TextBox tb = new TextBox();
            tb.Width = 30;
            tb.MaxLength = 1;
            tb.HorizontalContentAlignment = HorizontalAlignment.Center;

            MainContent.Children.Add(tb);
        }
    }
}
在Silverlight中,
tb.HorizontalContentAlignment=HorizontalAlignment.Center
不起作用:

Silverlight XAML:

<Window x:Class="TestText2343434.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">
    <Grid>
        <StackPanel x:Name="MainContent" Margin="10" HorizontalAlignment="Left"/>
    </Grid>
</Window>
using System.Windows;
using System.Windows.Controls;

namespace TestText2343434
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            TextBox tb = new TextBox();
            tb.Width = 30;
            tb.MaxLength = 1;
            tb.HorizontalContentAlignment = HorizontalAlignment.Center;

            MainContent.Children.Add(tb);
        }
    }
}
<UserControl x:Class="TestContent222.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
  <Grid x:Name="LayoutRoot">
        <StackPanel x:Name="MainContent" Margin="10" HorizontalAlignment="Left"/>
  </Grid>
</UserControl>
using System.Windows;
using System.Windows.Controls;

namespace TestContent222
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();

            TextBox tb = new TextBox();
            tb.Width = 30;
            tb.MaxLength = 1;
            tb.HorizontalContentAlignment = HorizontalAlignment.Center;

            MainContent.Children.Add(tb);
        }
    }
}

如何使
HorizontalContentAlignment
在Silverlight中像在WPF中一样工作?

HorizontalContentAlignment不是Silverlight中文本框上的有效属性(它未在Expression Blend或VS2010属性窗口中公开)

您要设置TextAlignment=“Center”的等效值,该值为

tb.TextAlignment = System.Windows.TextAlignment.Center;

希望这有帮助。

在Silverlight中,HorizontalContentAlignment不是文本框上的有效属性(它未在Expression Blend或VS2010属性窗口中公开)

您要设置TextAlignment=“Center”的等效值,该值为

tb.TextAlignment = System.Windows.TextAlignment.Center;

希望这能有所帮助。

5年多之后,接受一个答案怎么样?下面的任何一个选项都可以:)Upvote撤回。。。5年等待答案被接受就足够了:P 5年以上之后,接受答案怎么样?下面的任何一个选项都可以:)Upvote撤回。。。5年等待答案被接受就足够了:P