ডেটা বাইন্ডিংয়ের মাধ্যমে আমি কীভাবে ডাব্লুপিএফ হাইপারলিঙ্কের পাঠ্য সেট করতে পারি?


129

ডাব্লুপিএফ-তে, আমি একটি হাইপারলিঙ্ক তৈরি করতে চাই যা কোনও বস্তুর বিশদ নেভিগেট করে, এবং আমি হাইপারলিঙ্কের পাঠ্যটি বস্তুর নাম হতে চাই। এখনই, আমার কাছে এটি রয়েছে:

<TextBlock><Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}">Object Name</Hyperlink></TextBlock>

তবে আমি চাই "অবজেক্টের নাম" অবজেক্টের আসল নামের সাথে আবদ্ধ হোক। আমি এই জাতীয় কিছু করতে চাই:

<TextBlock><Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}" Text="{Binding Path=Name}"/></TextBlock>

তবে হাইপারলিঙ্ক শ্রেণিতে কোনও পাঠ্য বা সামগ্রী সম্পত্তি নেই যা ডেটা বাঁধাইয়ের জন্য উপযুক্ত (এটি একটি নির্ভরতা সম্পত্তি)।

কোন ধারনা?

উত্তর:


212

এটি দেখতে অদ্ভুত লাগছে, তবে এটি কার্যকর। আমরা আমাদের অ্যাপে প্রায় 20 টি ভিন্ন জায়গায় এটি করি do আপনি যদি এর "বিষয়বস্তু" তে পাঠ্য Hyperlinkলিখেন <Run/>তবে সুস্পষ্টভাবে একটি তৈরি করে , তবে .NET 3.5 এ <Run/>আপনাকে আবদ্ধ করতে দেয় না, সুতরাং আপনি স্পষ্টভাবে একটি ব্যবহার করতে পারেন TextBlock

<TextBlock>
    <Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}">
        <TextBlock Text="{Binding Path=Name}"/>
    </Hyperlink>
</TextBlock>

আপডেট : নোট 4.0 হিসাবে রান করুন নোট করুন। পাঠ্য সম্পত্তিটি এখন আবদ্ধ হতে পারে:

<Run Text="{Binding Path=Name}" />

সুতরাং, এর অর্থ কি হাইপারলিঙ্কের সামগ্রী সম্পত্তিটি ইনলাইনস সংগ্রহ?
মাল রস

4
এটি কি আমি বা এই লিঙ্কটি আসলে কাজ করা থেকে বাধা দেয়?
টোবিয়াস ভ্যালিনস্কি

আপনার এখনও অনুরোধনভিগেটটি হ্যান্ডেল করতে হবে
রোলগুলি

10

এটি আমার জন্য একটি "পৃষ্ঠায়" কাজ করেছে।

<TextBlock>
    <Hyperlink NavigateUri="{Binding Path}">
        <TextBlock Text="{Binding Path=Path}" />
    </Hyperlink>
</TextBlock>

1

উইন্ডোজ স্টোর অ্যাপ্লিকেশনটিতে (এবং উইন্ডোজ ফোন 8.1 আরটি অ্যাপ) উদাহরণস্বরূপ কাজ করে না, হাইপারলিংক বাটন ব্যবহার করুন এবং সামগ্রী এবং নেভিগেটুরি বৈশিষ্ট্যগুলিকে ব্যবহার হিসাবে ব্যবহার করুন।

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