powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / combobox и datagrid
4 сообщений из 4, страница 1 из 1
combobox и datagrid
    #37659526
sergei64_89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть датагрид нужно чтобы один столбец был из combobox,но чтобы при это был применён шаблон к combobox.то есть чтобы при открытии комбобокса вместо списка появлялась таблица откуда и выбирается нужная запись.как сделать это отдельно для комбобокса я понял.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
 <ComboBox
            Margin="115,33,46,206"
            Height="23"
          Name="comboBox1"

		   ItemTemplate="{DynamicResource DataTemplate1}"
        	 SelectedItem="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=Carselect}"
            IsDropDownOpen="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=Select}">
        	<ComboBox.Style>
        		<Style TargetType="{x:Type ComboBox}">
        			
        			<Setter Property="BorderThickness" Value="1"/>
        			<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
        			<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
        			<Setter Property="Padding" Value="4,3"/>
        			<Setter Property="Template">
        				<Setter.Value>
        					<ControlTemplate 
        						TargetType="{x:Type ComboBox}">
        						<Grid 
        							SnapsToDevicePixels="true" 
        							x:Name="MainGrid">
        							<Grid.ColumnDefinitions>
        								<ColumnDefinition 
        									Width="*"/>
        								<ColumnDefinition 
        									MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" 
        									Width="0"/>
        							</Grid.ColumnDefinitions>
        							<Popup 
        								AllowsTransparency="true" 
        								IsOpen="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=Select}" 
        								Placement="Bottom" 
        							
        								Margin="1"
        								x:Name="PART_Popup" 
        								Grid.ColumnSpan="2">
        								<Microsoft_Windows_Themes:SystemDropShadowChrome 
        									MaxHeight="{TemplateBinding MaxDropDownHeight}"
        									MinWidth="{Binding ActualWidth, ElementName=MainGrid}"
        									x:Name="Shdw"
        									Color="Transparent">
        									<Border 
        										x:Name="DropDownBorder"
        										Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"
        										BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
        										BorderThickness="1">
        										<DataGrid
        											SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
        											ItemsSource="{TemplateBinding ItemsSource}"
        											AutoGenerateColumns="False"
        											IsReadOnly="True"
        											SelectedItem="{Binding SelectedItem, RelativeSource={RelativeSource TemplatedParent}}">
        											<DataGrid.Columns>
        												<DataGridTextColumn
        													Header="Name"
        													Binding="{Binding Name}"/>
        												<DataGridTextColumn
        													Header="Address"
        													Binding="{Binding Address}"/>
        												<DataGridTextColumn
        													Header="Telephone No."
        													Binding="{Binding TelephoneNumber}"/>
        											</DataGrid.Columns>
        										</DataGrid>
        									</Border>
        								</Microsoft_Windows_Themes:SystemDropShadowChrome>
        							</Popup>
        							<ToggleButton 
        								Background="{TemplateBinding Background}" 
        								BorderBrush="{TemplateBinding BorderBrush}" 
        								
        								Grid.ColumnSpan="2" 
        								IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>
        							<ContentPresenter 
        								IsHitTestVisible="false" 
        								SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" 
        								HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
        								Margin="{TemplateBinding Padding}" 
        								VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 
        								Content="{TemplateBinding SelectionBoxItem}" 
        								ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" 
        								ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"/>
        						</Grid>
        						
        					</ControlTemplate>
        				</Setter.Value>
        			</Setter>
        			<Style.Triggers>
        				<Trigger Property="IsEditable" Value="true">

        					<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/>
        					<Setter Property="IsTabStop" Value="false"/>
        					<Setter Property="Padding" Value="3"/>
        					
        				</Trigger>
        			</Style.Triggers>
        		</Style>
        	</ComboBox.Style>
        </ComboBox>
...
Рейтинг: 0 / 0
combobox и datagrid
    #37659566
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergei64_89,

там же customtemplate есть для ячеек грида.
...
Рейтинг: 0 / 0
combobox и datagrid
    #37659579
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в смысле колонок.
...
Рейтинг: 0 / 0
combobox и datagrid
    #37659588
sergei64_89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
<DataGridTemplateColumn Header="клиент">
						<DataGridTemplateColumn.CellTemplate>
							<DataTemplate>
								
								
								 <ComboBox
            Margin="4"
            Height="23"
            Width="250"
            
            SelectedItem="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=SelectedCustomer}"
            IsDropDownOpen="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=Select}">
        	<ComboBox.Style>
        		<Style TargetType="{x:Type ComboBox}">
        		
        			<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}"/>
        

        			<Setter Property="BorderThickness" Value="1"/>
        			<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
        			<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
        			<Setter Property="Padding" Value="4,3"/>
        			<Setter Property="Template">
        				<Setter.Value>
        					<ControlTemplate 
        						TargetType="{x:Type ComboBox}">
        						<Grid 
        							SnapsToDevicePixels="true" 
        							x:Name="MainGrid">
        							<Grid.ColumnDefinitions>
        								<ColumnDefinition 
        									Width="*"/>
        								<ColumnDefinition 
        									MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" 
        									Width="0"/>
        							</Grid.ColumnDefinitions>
        							<Popup 
        								AllowsTransparency="true" 
        								IsOpen="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=Select}" 
        								Placement="Bottom" 
        							
        								Margin="1"
        								x:Name="PART_Popup" 
        								Grid.ColumnSpan="2">
        								<Microsoft_Windows_Themes:SystemDropShadowChrome 
        									MaxHeight="{TemplateBinding MaxDropDownHeight}"
        									MinWidth="{Binding ActualWidth, ElementName=MainGrid}"
        									x:Name="Shdw"
        									Color="Transparent">
        									<Border 
        										x:Name="DropDownBorder"
        										Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"
        										BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
        										BorderThickness="1">
        										<DataGrid
        											SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
        											ItemsSource="{TemplateBinding ItemsSource}"
        											AutoGenerateColumns="False"
        											IsReadOnly="True"
        											SelectedItem="{Binding SelectedItem, RelativeSource={RelativeSource TemplatedParent}}">
        											<DataGrid.Columns>
        												<DataGridTextColumn
        													Header="Name"
        													Binding="{Binding Namce}"/>
        												<DataGridTextColumn
        													Header="Address"
        													Binding="{Binding Address}"/>
        												<DataGridTextColumn
        													Header="Telephone No."
        													Binding="{Binding TelephoneNumber}"/>
        											</DataGrid.Columns>
        										</DataGrid>
        									</Border>
        								</Microsoft_Windows_Themes:SystemDropShadowChrome>
        							</Popup>
        							<ToggleButton 
        								Background="{TemplateBinding Background}" 
        								BorderBrush="{TemplateBinding BorderBrush}" 
        								
        								Grid.ColumnSpan="2" 
        								IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>
        							<ContentPresenter 
        								IsHitTestVisible="false" 
        								SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" 
        								HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
        								Margin="{TemplateBinding Padding}" 
        								VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 
        								Content="{TemplateBinding SelectionBoxItem}" 
        								ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" 
        								ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"/>
        						</Grid>
        						
        					</ControlTemplate>
        				</Setter.Value>
        			</Setter>
        			<Style.Triggers>
        				<Trigger Property="IsEditable" Value="true">
        					
        					<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/>
        					<Setter Property="IsTabStop" Value="false"/>
        					<Setter Property="Padding" Value="3"/>
        					
        				</Trigger>
        			</Style.Triggers>
        		</Style>
        	</ComboBox.Style>
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding Path=Name}" Margin="4,0"/>
                        <TextBlock Text="{Binding Path=Address}" Margin="4,0"/>
                        <TextBlock Text="{Binding Path=TelephoneNumber}" Margin="4,0"/>
                    </StackPanel>
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>
								
							</DataTemplate>
						</DataGridTemplateColumn.CellTemplate>
						
					</DataGridTemplateColumn>


пробовал так.в итоге на экране только тоглбаттон,список не раскрывается.хотя даже,если и баинд не проходит должно появится хотя бы оглавление столбцов.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / combobox и datagrid
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]