লিংক বাটনের মতো দেখতে আমি কীভাবে বোতামটি তৈরি করতে পারি, এবং আমি হাইপারলিঙ্ক ব্যবহার করতে চাই না ... !!
কোনও পরামর্শ
লিংক বাটনের মতো দেখতে আমি কীভাবে বোতামটি তৈরি করতে পারি, এবং আমি হাইপারলিঙ্ক ব্যবহার করতে চাই না ... !!
কোনও পরামর্শ
উত্তর:
আপনি যদি কোনও সাধারণ বাটন স্টাইল না চান এবং হাইপারলিংকের মতো দেখতে এমন কিছু চান যা আপনি এটি দিয়ে শুরু করতে পারেন
<Button Margin="5" Content="Test" Cursor="Hand">
<Button.Template>
<ControlTemplate TargetType="Button">
<TextBlock TextDecorations="Underline">
<ContentPresenter />
</TextBlock>
</ControlTemplate>
</Button.Template>
<Button.Style>
<Style TargetType="Button">
<Setter Property="Foreground" Value="Blue" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Foreground" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
এখানে স্টাইলের মতোই:
<Style
x:Key="LinkButton"
TargetType="Button">
<Setter
Property="Template">
<Setter.Value>
<ControlTemplate
TargetType="Button">
<TextBlock
TextDecorations="Underline">
<ContentPresenter /></TextBlock>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter
Property="Foreground"
Value="Blue" />
<Style.Triggers>
<Trigger
Property="IsMouseOver"
Value="true">
<Setter
Property="Foreground"
Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
এবং আপনি এটি এর মতো ব্যবহার করতে পারেন:
<Button Style="{StaticResource LinkButton}" Content="Clicky" />
<Trigger Property="IsEnabled" Value="False"><Setter Property="Foreground" Value="Gray" /> </Trigger>
ইসইনেবলড স্টেটটি হ্যান্ডেল করার জন্য যুক্ত করার পরামর্শ দিই
<Style x:Key="LinkButton"
TargetType="Button"
BasedOn="{StaticResource ResourceKey={x:Type Button}}"
>
<Setter Property="Width" Value="Auto"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<ContentPresenter Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
VerticalAlignment="Center"
>
<ContentPresenter.Resources>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="TextDecorations" Value="Underline" />
</Style>
</ContentPresenter.Resources>
</ContentPresenter>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="Blue" />
<Setter Property="Cursor" Value="Hand" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Foreground" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
MichaC এবং অ্যান্ডারসন এর সংস্করণ নিম্নরেখা সামান্য ভুল স্থাপন, এখানে একটি আপডেট করা সংস্করণ যে শুধু কোনো একটি নিম্নরেখা যোগ হবে হয় TextBlock
যে ভেতরে ContentPresenter
।
Style
আপনি যে কোনও বোতামে পুনরায় ব্যবহার করতে পারেন এমন হিসাবে মাইচাকের পরামর্শটি এখানে প্রয়োগ করা হয়েছে :
<Style x:Key="LinkButton" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<TextBlock TextDecorations="Underline">
<ContentPresenter />
</TextBlock>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="Blue" />
<Setter Property="Cursor" Value="Hand" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Foreground" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
সবচেয়ে সহজ উপায় (আমি আমার অ্যাপ্লিকেশনটিতে এটি করি):
<TextBlock Name="..."
Text="..."
Cursor="Hand"
Foreground="Blue"
TextDecorations="Underline"
MouseLeftButtonUp=..."
/>
টেক্সটডেকোরেশনে আপনার পুরো নিয়ন্ত্রণ রয়েছে, যেমন পেনের স্টাইল পরিবর্তন করুন বা অফসেট করুন। আরও জানার জন্য এই লিঙ্কটি একবার দেখুন:
আপনি হাইপারলিঙ্ক ব্যবহার করতে চান না কেন?
<Button>
<Hyperlink>
</Button>