Daily deeds:Windows Phone dev issues, changing common Control Properties in codebehind. :)

আজকের টা বাংলায়! Smile
প্রায়শই যথন উইন্ডোজ ফোনটা নিয়ে গুতোগুতি চলে তখন প্রথমেই কোন কিছু যখন করতে যাই সর্বপ্রথম যে ব্যাপারটা নিয়ে চিন্তা ভাবনা চলে সেটা হচ্ছে XAML. কিন্তু গ্যাঞ্জামটা পাকে তখন যখন আমার মাথায় ডাইন্যামিক কিছু করার ভুত চাপে এবং UI কে C# থেকে Control করবার প্রয়োজন হয়। তখন XAML এর Attribute গুলো কিভাবে এখানে Assign করবো বের করতে বেশ ঝামেলা পোহাতে হয়। যদিও MSDN আছে তাও ভাবলাম, লিখে রাখি, দোষ কি? এখানে XAML এবং C# একসাথে নোট করা আছে, দেখা লাগলে দেখে নিতে পারেন। Smile

সমস্যা: TextBlock এর TextWrapping property
XAML:

<TextBlock x:Name="textBlockWrapped" TextWrapping="Wrap" Text="This should be wrapped."/>

C#:

this.textBlockWrapped.TextWrapping = TextWrapping.Wrap;

সমস্যা: Horizontal Alignment/Vertical Alignment ঠিক করা
XAML:

<Button x:Name="button" Content="Shift" HorizontalAlignment="Left"  VerticalAlignment="Top" Width="63" />

C#:


button.HorizontalAlignment=(HorizontalAlignment)AlignmentX.Left;
button.VerticalAlignment=(VerticalAlignment)AlignmentY.Top

সমস্যা: ScrollBar Visibility ঠিক করা
XAML:


<ScrollViewer x:Name="scrollViewer" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Visible">
<!--some code here...-->
</ScrollViewer>

C#:


this.scrollViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible;
this.scrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;

সমস্যা: Font ঠিক করা
XAML:


<TextBlock Text="TextBlock" FontWeight="Bold" FontSize="30" FontFamily="Arial" x:Name="textBlock"/>

C#:


this.textBlock.FontSize = 30;
this.textBlock.FontFamily = new FontFamily("Arial");
this.textBlock.FontWeight = FontWeights.Bold;

যদি Font আগেই embedded হয় তো?

XAML:


<TextBlock Text="TextBlock" FontWeight="Bold" FontSize="30" FontFamily="YourProjectName;component/Fonts/Fonts.zip#Siyam Rupali" x:Name="textBlock"/>

C#:


this.textBlock.FontFamily = new FontFamily("YourProjectName;component/Fonts/Fonts.zip#Siyam Rupali");

সমস্যা: Button অথবা অন্য কোন Control কোন Grid বা Container এ যোগ করা

C#:


Button btn = new Button();
//ContentPanel is the main Grid in MainPage.xaml
this.ContentPanel.Children.Add(btn);

 

সমস্যা: Background পরিবর্তন করা
XAML:


<Button x:Name="button" Content="Change Color" Background="Green"/>

C#:


this.button.Background = new SolidColorBrush(Colors.Green);
this.button.Background = new SolidColorBrush(Color.FromArgb(10,15,100,124));

যদি Backgroundimage দিতে চাই তো?
XAML:

<Button x:Name="button" Content="Image" Width="100" Height="100">
<Button.Background>
<ImageBrush ImageSource="logo.png"/>
</Button.Background>
</Button>

C#:


ImageBrush imageBrush = new ImageBrush();
Uri uri = new Uri("logo.png", UriKind.RelativeOrAbsolute);
imageBrush.ImageSource = new BitmapImage(uri);
this.button.Background = imageBrush;

সমস্যা: Thickness পরিবর্তন করা

XAML:


<Border BorderBrush="Red" x:Name="border" Height="200" Width="200" BorderThickness="5,4,3,2">
<!--Some code here...—>
</Border>

C#:


this.border.BorderThickness = new Thickness(5, 4, 3, 2);
this.border.BorderThickness = new Thickness(5);
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s