■39825 / inTopicNo.3) |
Re[2]: SilverlightのTextBoxのIsEnable |
□投稿者/ お だ (5回)-(2009/08/14(Fri) 07:55:49)
|
■No39824 (倉田 有大 さん) に返信
> 失礼、TextBoxの場合IsReadOnlyですね。
> この場合、背景が私の環境じゃ、薄いグレーになって、フォントも薄めになってしまいますが、このときの色を指定する事はできるのでしょうか?
体験談ですが、
xaml で IsReadOnly と Background 指定するとなぜかうまくいきませんでしたが、コード上で IsReadOnly = true の後に、Background を指定すると色が変わりました。
※但し、IsReadOnly = false の TextBox と比べると色が少し薄くなりましたが。
また、IsReadOnly が false から true に変更されると、背景色が薄いグレーになりました。再度 Background を指定する必要があるみたいです。
以下コード抜粋
xaml
<UserControl x:Class="SilverlightApplication9.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>
<TextBox x:Name="txtReadOnly" Background="AliceBlue" />
<TextBox x:Name="txtText" Background="AliceBlue" />
<Button Height="30" Content="背景色変更" Click="Button_Click"/>
<Button Height="30" Content="ReadOnly変更" Click="Button_Click_1"/>
<Button Height="30" Content="強制ReadOnly!" Click="Button_Click_2"/>
</StackPanel>
</Grid>
</UserControl>
cs
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
namespace SilverlightApplication9
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
this.txtReadOnly.Background = new SolidColorBrush(Colors.Green);
this.txtText.Background = new SolidColorBrush(Colors.Green);
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
this.txtReadOnly.IsReadOnly = !this.txtReadOnly.IsReadOnly;
}
private void Button_Click_2(object sender, RoutedEventArgs e)
{
this.txtReadOnly.IsReadOnly = true;
}
}
}
|
|