Quantcast
Channel: Windows Presentation Foundation (WPF) forum
Viewing all articles
Browse latest Browse all 18858

create datatemplate code behind

$
0
0

I am trying to create a ListBox view for show data, and I want it to contain a ListBox with a datatemplate for 2 columns "Product ID & Product Barcode"

What I have made until now is: In XAML :

XAML:

<TextBox HorizontalAlignment="Right" VerticalAlignment="Bottom"                  Height="25" Width="300" Margin="0,0,44,0" x:Name="txtCAuto" TextWrapping="NoWrap"                  HorizontalContentAlignment="Right" />        <ListBox x:Name="lbSuggestion" SelectionChanged="lbSuggestion_SelectionChanged"                  Foreground="Black" Width="300" Margin="0,0,44,0"  FlowDirection="RightToLeft"                 Background="LightYellow" Grid.Row="1" Visibility="Collapsed"                  ScrollViewer.HorizontalScrollBarVisibility="Auto"                   ItemsSource="{Binding Path=autoList}"                 HorizontalAlignment="Right" VerticalAlignment="Top" HorizontalContentAlignment="Right"                 BorderBrush="Transparent"  Grid.IsSharedSizeScope="True">        </ListBox>

Code:

string typedString = txtCAuto.Text.ToUpper();            List<string> autoList = new List<string>();            autoList.Clear();             prodDetails ps = SelProd4Sale();                        foreach (string item in ps.ProdBrcdList)            {                if (!string.IsNullOrEmpty(txtCAuto.Text))                {                    if (item.StartsWith(typedString))                    {                                                FrameworkElementFactory colProdID = new FrameworkElementFactory(typeof(TextBlock));                        Binding prodID = new Binding(ps.ProdIDList.ToString());                        colProdID.SetBinding(TextBlock.TextProperty, prodID);                        FrameworkElementFactory colProdBarcode = new FrameworkElementFactory(typeof(TextBlock));                        Binding prodBarcode = new Binding();                        prodBarcode.Path = new PropertyPath(ps.ProdBrcdList.ToString());                        colProdBarcode.SetBinding(TextBlock.TextProperty, prodBarcode);                                               FrameworkElementFactory sb = new FrameworkElementFactory(typeof(StackPanel));                        sb.AppendChild(colProdID);                        sb.AppendChild(colProdBarcode);                        dTemplate = new DataTemplate { VisualTree = sb };                        dTemplate.Seal();                                                                   }                }            }            if (autoList.Count > 0)            {                lbSuggestion.ItemTemplate = dTemplate;                               lbSuggestion.Visibility = Visibility.Visible;            }            else if (txtCAuto.Text.Equals(""))            {                lbSuggestion.Visibility = Visibility.Collapsed;                lbSuggestion.ItemsSource = null;            }            else            {                lbSuggestion.Visibility = Visibility.Collapsed;                lbSuggestion.ItemsSource = null;            }

but there is no data appears, any suggestion please. thanks,


Viewing all articles
Browse latest Browse all 18858

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>