Simbolu virkņu noformēšana WPF

Turpinot apgūt WPF noslēpumus, izdodas atklāta dažādas interesantas lietas. Piemēram, bieži gadās, ka jāizvada saraksts ar klienta vārdu, kas pie izvades ir jāsakombinē no diviem laukiem.

Ja būtu jāizvada pilnais vārds no šāda objekta

public class DataObject
{
    public string Name { get; set; }
    public string Surname { get; set; }
}

Sākumā, visticamākais ienāktu prātā:

  1. izveidot atsevišķu īpašību, kas atgrieztu apvienotos laukus
  2. vai arī XAMLā definēt StackPanel, kas saturētu vairākus TextField, kuri būtu piesaistīti atbilstošajiem laukiem.

Lasot XAML špikeri (saiti var atrast mūsu wiki špikeru sadaļā), atradu, ka sākot ar .NET 3.5sp1 datu piesaistei ir iespējams izmantot StringFormat atribūtu, kas darbojas līdzīgi kā String.Format šabloni. Kombinācijā ar MultiBinding datu piesaisti, šis atribūts ļauj laukus sakombinēt datu piesaistes laikā:

<TextBlock>
    <TextBlock.Text>
        <MultiBinding StringFormat="{}{0} {1}">
            <Binding Path="Name"/>
            <Binding Path="Surname"/>
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>
Var redzēt interesantu niansi gadījumā, kad StringFormat šablons sākas ar kādu no vietrāžiem. Šādi šabloni ir jāsāk ar “{}” simboliem, savādāk tas tiek uzskatīts par iezīmju paplašinājumu. Sīkāku informāciju par to var izlasīt MSDN tēmā par iezīmju paplašinājumiem.
Published 18 February 2009 06:20 PM by ivars.arins
Filed under:

Comments

# 799ejyh6 said on 24 June, 2010 04:52 AM

53hvmscwi

http://002evolves.blogspot.com

# payday loans said on 30 August, 2010 02:10 PM

The post is really the best on this laudable topic. I concur with your conclusions and will eagerly look forward to your future updates. Just saying thanks will not just be enough, for the exceptional lucidity in your writing. I will at once grab your rss feed to stay privy of any updates. De delightful work and much success in your business dealings!

Leave a Comment

(obligāts) 
(obligāts) 
(brīvizvēles)
(obligāts)