0

WindowsPhoneアプリケーションにリストボックスがあります。リストボックスのDataTemplateにボタンを配置しました。コードビハインドでボタンオブジェクトを取得するにはどうすればよいですか。.csファイルでrowButtonの参照を取得していません。各行のボタンのボタン背景色を変更したい。コードビハインドでボタン参照を取得するにはどうすればよいですか?

リストビューに使用したコードに従います。

<Grid  Height="530" Grid.Row="1" VerticalAlignment="Top" Margin="0,30,0,0">
            <ListBox Margin="0,0,0,0" Name="TransactionList">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <Button  Width="460" Height="150" Click="user_click" Name="rowButton" >
                            <Button.Content>
                                <StackPanel Orientation="Horizontal" Height="auto" Width="400">
                                    <Image Width="80" Height="80" Source="{Binding Type}"></Image>
                                    <StackPanel Orientation="Vertical" Height="150" Margin="20,0,0,0">
                                        <StackPanel Orientation="Horizontal" Height="40">
                                            <TextBlock Width="100" FontSize="22" Text="Name :" Height="40" ></TextBlock>
                                            <TextBlock Width="auto" FontSize="22" Text="{Binding Name}" Height="40" ></TextBlock>
                                        </StackPanel>
                                        <StackPanel Orientation="Horizontal" Height="40">
                                            <TextBlock Width="100" FontSize="22" Text="Date :" Height="40" ></TextBlock>
                                            <TextBlock Width="100" FontSize="22" Text="{Binding Date}" Height="40" ></TextBlock>
                                        </StackPanel>
                                        <StackPanel Orientation="Horizontal" Height="40">
                                            <TextBlock Width="100" FontSize="22" Text="Amount :" Height="40" ></TextBlock>
                                            <TextBlock Width="auto" FontSize="22" Text="{Binding Amount}" Height="40" ></TextBlock>
                                            <TextBlock Width="auto" FontSize="22" Text=" $" Height="40" ></TextBlock>
                                        </StackPanel>
                                    </StackPanel>
                                </StackPanel>
                            </Button.Content>
                        </Button>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </Grid>
4

2 に答える 2

2

ユーザークリックの背景を変更する場合は、クリックイベントハンドラーで次を使用します

            Button button1 = sender as Button;
            button1.Backgorund = new SolidColorBrush(Colors.Red);

背景色を変更します。

それ以外の場合は、各ボタンのbackgroundプロパティをバインドし、リストボックス内の項目の反復時にその値を変更します。

于 2012-09-24T11:12:35.470 に答える
0

これにアクセスしようとした方法がコードに含まれていることを確認せずに、実行していることが機能しない理由を言うことは不可能です。

ただし、データバインディングを使用してテンプレートアイテムの色を設定すると、はるかに簡単になります

于 2012-09-24T11:08:56.207 に答える