2009-05-15 11 views
12

मैं डब्ल्यूपीएफ में हाइपरलिंक की डाटाबेस, बुलेट सूची कैसे बनाऊं?डब्ल्यूपीएफ डाटाबेस बुलेट सूची

मैं इस मिल गया है:

<ItemsControl Name="lstScripts"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <TextBlock> 
       <Hyperlink> 
        <TextBlock Text="{Binding Path=Name}" /> 
       </Hyperlink> 
      </TextBlock> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 

लेकिन मैं गोलियों में आइटम चालू करने के लिए कैसे को समझ नहीं सकता। मैं बुलेटडेकोरेटर देखता हूं, लेकिन मैं अपनी खुद की बुलेट छवि निर्दिष्ट नहीं करना चाहता, मुझे बस मानक बुलेट चाहिए।

उत्तर

27

दुर्भाग्य से वहाँ कोई "मानक गोलियों" रहे हैं ... यहाँ एक सरल दीर्घवृत्त गोली का एक उदाहरण है:

 <ItemsControl Name="lstScripts"> 
      <ItemsControl.ItemTemplate> 
       <DataTemplate> 
        <BulletDecorator Width="Auto"> 
         <BulletDecorator.Bullet> 
          <Ellipse Fill="White" Stroke="Black" StrokeThickness="1" Width="8" Height="8"/> 
         </BulletDecorator.Bullet> 
         <TextBlock> 
          <Hyperlink> 
           <TextBlock Text="{Binding Path=Name}" /> 
          </Hyperlink> 
         </TextBlock> 
        </BulletDecorator> 
       </DataTemplate> 
      </ItemsControl.ItemTemplate> 
     </ItemsControl> 
1

बस, @Thomas लेवेस्क की जवाब थोड़ा विस्तार यह एक UserControl में बनाएं, ताकि आप पुन: उपयोग कर सकते हैं करने के लिए यह, उदाहरण के लिए:

<Reporting:BulletedItem BulletText="Bullet Item 1" /> 
<Reporting:BulletedItem BulletText="Bullet Item 2" /> 

एक UserControl बनाएँ:

<UserControl x:Class="MyNameSpace.Reporting.BulletedItem" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      mc:Ignorable="d" > 
    <Grid> 
     <ItemsControl > 
      <BulletDecorator Width="Auto" Margin="10, 0, 0, 0"> 
       <BulletDecorator.Bullet> 
        <Ellipse Fill="Black" Stroke="Black" StrokeThickness="1" Width="5" Height="5"/> 
       </BulletDecorator.Bullet> 
       <TextBlock Margin="5, 0, 0, 0"> 
        <TextBlock Text="{Binding BulletText}" /> 
       </TextBlock> 
      </BulletDecorator> 
     </ItemsControl> 
    </Grid> 
</UserControl> 

कोड में:

public partial class BulletedItem : UserControl 
{ 
    public static readonly DependencyProperty TextProperty = DependencyProperty.Register("BulletText", typeof(string), typeof(BulletedItem)); 

    public string BulletText 
    { 
     get { return (string)GetValue(TextProperty); } 
     set { SetValue(TextProperty, value); } 
    } 

    public BulletedItem() 
    { 
     InitializeComponent(); 
     this.DataContext = this; 
    } 
} 
0

सभी प्रकार की सूची के लिए आप फ़्लो डॉक्यूमेंट और सूची का उपयोग कर सकते हैं। इसमें "डिस्क" का मार्कर स्टाइल और "मंडल" में से एक है।

<FlowDocument> 
    <List MarkerStyle="Disc"> 
    <ListItem> 
     <Paragraph>Boron</Paragraph> 
    </ListItem> 
    <ListItem> 
     <Paragraph>Carbon</Paragraph> 
    </ListItem> 
</<FlowDocument> 

वहाँ अधिक जानकारी के यहां हैं: https://msdn.microsoft.com/library/aa970909(v=vs.100).aspx

संबंधित मुद्दे