ডাব্লুপিএফ-এ লিঙ্ক বোতাম


90

লিংক বাটনের মতো দেখতে আমি কীভাবে বোতামটি তৈরি করতে পারি, এবং আমি হাইপারলিঙ্ক ব্যবহার করতে চাই না ... !!

কোনও পরামর্শ


4
যদি কেউ চিন্তা করে তবে এখানে সমস্ত উত্তর সহ সমস্যাটি হ'ল উত্তরের লিঙ্কগুলি লিঙ্কগুলির মতো আচরণ করে না। তারা পরিদর্শন করা ইউআরএল ইতিহাস সম্পর্কে সচেতন নয় এবং রঙগুলি সিস্টেম ইউআরএল রঙ নয়। তবে, যদি আপনার সেই প্রয়োজনীয়তা না থাকে তবে সেগুলি ঠিক আছে।

আমি কীভাবে সঠিক উইন্ডোজ রঙগুলি ব্যবহার করব তা জানার চেষ্টা করছি। stackoverflow.com/questions/5094447
জ্যাক পিটারসন

উত্তর:


150

আপনি যদি কোনও সাধারণ বাটন স্টাইল না চান এবং হাইপারলিংকের মতো দেখতে এমন কিছু চান যা আপনি এটি দিয়ে শুরু করতে পারেন

<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" />

দয়া করে নোট করুন যে এখানে একটি টাইপো রয়েছে - লিঙ্কবুটন
গ্যারেথডি

4
এই উত্তরটি এমন একটি বোতাম তৈরি করে যা আন্ডারলাইন এবং পাঠ্যের মধ্যে একটি স্থান রয়েছে। @ ক্রিশ্চিয়ানরা উত্তরগুলি এর সমাধান করে।
গ্রেগ সানসোম

হাইপারলিঙ্কের উপরে ঘোরাঘুরি করার সময় এটিতে "হাত" পয়েন্টারও নেই। এই কার্যকারিতার জন্য সম্প্রদায় উইকি উত্তরটি ব্যবহার করুন।
AlbatrossCafe

আমি <Trigger Property="IsEnabled" Value="False"><Setter Property="Foreground" Value="Gray" /> </Trigger>ইসইনেবলড স্টেটটি হ্যান্ডেল করার জন্য যুক্ত করার পরামর্শ দিই
সাইমন

34
<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


4
খ্রিস্টান: আপনার স্টাইলটি ব্যবহার করে আমি কীভাবে কোনও আন্ডারলাইন দেখতে পাচ্ছি না? মাইচ্যাক আমার জন্য সবেমাত্র কাজ করেছে।
নিউম্যান

এটি আমার পক্ষেও কাজ করছে না। কনটেন্টপ্রেসেন্টারের মধ্যে শৈলীটি। রিসোর্সগুলি কেবলমাত্র বোতামের মধ্যে কোনও পাঠ্যব্লকটিতে প্রয়োগ হচ্ছে না
ক্লাইড

ঠিক আছে, সমস্যাটি মনে হচ্ছে শৈলীটি কেবল একটি স্পষ্টভাবে উত্পন্ন টেক্সটব্লকের ক্ষেত্রে প্রযোজ্য
ক্লাইড

<বাটন স্টাইল = "{স্ট্যাটিক রিসোর্স লিংক বাটন}"> পাঠ্য </ বাটন> কাজ করে
ক্লাইড

<বাটন স্টাইল = "{স্ট্যাটিক রিসোর্স লিংক বাটন}"> <টেক্সটব্লক পাঠ্য = "পরীক্ষা" /> <বাটন> কাজ করে না
ক্লাইড

30

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>

8
এই সম্প্রদায়টির উইকি তৈরি করুন, 99% এর উত্তরের কথা বিবেচনা করে মাইচ্যাক :) থেকে চুরি হয়ে গেছে :)
অ্যান্ডারসন

11

সবচেয়ে সহজ উপায় (আমি আমার অ্যাপ্লিকেশনটিতে এটি করি):

<TextBlock Name="..."
   Text="..."
   Cursor="Hand"
   Foreground="Blue"
   TextDecorations="Underline"
   MouseLeftButtonUp=..."
/>

টেক্সটডেকোরেশনে আপনার পুরো নিয়ন্ত্রণ রয়েছে, যেমন পেনের স্টাইল পরিবর্তন করুন বা অফসেট করুন। আরও জানার জন্য এই লিঙ্কটি একবার দেখুন:


4
খারাপ অনুশীলন, পরামর্শ মতো একটি লিঙ্ক বোতাম স্টাইলিং করা আরও ভাল ... আপনার যদি 50 টি লিঙ্কবটন থাকে তবে কী হবে? অতিরিক্তভাবে, আপনার যদি হোভার অ্যাকশন বা অন্য কোনও সজ্জা যুক্ত করার দরকার হয় তবে কী হবে?
টোমর ডাব্লু

4
আমি টোমারের সাথে একমত নই। "খারাপ অনুশীলন" বোঝায় যে এই সহজ পদ্ধতির প্রয়োজন নেই। আমার এখনই একটি কেস রয়েছে যেখানে এটি ছিল সঠিক সমাধান অর্থাৎ কোড-পিছনে বোতাম তৈরি করা)। ধন্যবাদ শিয়াভাশ।
গ্যাবে হালসমার

হ্যাঁ, এটি কোনও খারাপ অভ্যাস নয়। এটি কিছু পরিস্থিতিতে উপযুক্ত হবে।
রিচার্ড মুর

9

ব্যবহারের আরেকটি সমাধান Hyperlinkহ'ল ভিতরে .োকানো TextBlock

<TextBlock>
    <Hyperlink Click="...">
        <TextBlock Text="Link text" />
    </Hyperlink>
</TextBlock>

2

আপনি হাইপারলিঙ্ক ব্যবহার করতে চান না কেন?

<Button>
    <Hyperlink>
</Button>

কোজ, যখনই আমি ভিজ্যুয়াল ট্রিতে পিতামাতার চেষ্টা করি এটি একটি ব্যতিক্রম ছুঁড়ে বলে হাইপারলিংক ভিজ্যুয়াল বা ভিজ্যুয়াল 3 ডি নয়
প্রশান্ত চোলাচাগুদ্দা

আমি এটি ব্যবহার করতে চাই। আমি এটি কাজ করেছিলাম তবে আমি বোতামের প্রান্তের ছায়া থেকে মুক্তি পেতে পারি না। তুমি এটা কিভাবে করলে?
ডনি ভি।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.