none
Windows Presentation Foundation (StackOverflowException) RRS feed

  • Pregunta

  • Hola, compañeros del Foro

    El siguiente código de una Window (la principal) me arroja StackOverflowException en InitializeComponent().

    Muchas gracias por su ayuda

        <Window x:Class="WpfStyleableWindow.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:WpfStyleableWindow"
            mc:Ignorable="d"
            Title="Telephone List Database" Height="600" Width="800"
            Style="{StaticResource CustomWindowStyle}" Icon="App.ico">
    
        <Window.DataContext>
            <local:MainWindow/>
        </Window.DataContext>
    
        <Grid Name="Container">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="800"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="30"/>
                <RowDefinition Height="40"/>
                <RowDefinition Height="500"/>
            </Grid.RowDefinitions>
            <DockPanel Name="DP1" Grid.Row="0">
                <Menu DockPanel.Dock="Top" Height="30" FontSize="18" Grid.ColumnSpan="3">
                    <MenuItem Header="_File">
                        <MenuItem Header="_New" Click="OnButtonNewClicked" />
                        <MenuItem Header="_Edit" />
                        <MenuItem Header="_Remove" />
                        <Separator />
                        <MenuItem Header="_Print" />
                        <Separator />
                        <MenuItem Header="_Exit" />
                    </MenuItem>
                    <MenuItem Header="_Search">
                        <MenuItem Header="_By Name" />
                        <MenuItem Header="_By Phone" />
                        <MenuItem Header="_Various" />
                    </MenuItem>
                    <MenuItem Header="_Tools">
                        <MenuItem Header="_Send List to TXT file" Click="SendListToTXTFile" />
                    </MenuItem>
                    <MenuItem Header="_Help">
                        <MenuItem Header="_About" />
                    </MenuItem>
                </Menu>
            </DockPanel>
            <DockPanel Name="DP2" Grid.Row="1">
                <ToolBarTray DockPanel.Dock="Top" Height="40" Width="800">
                    <ToolBar Height="40" Width="200">
                        <Button Height="36" Width="36" Click="OnButtonNewClicked">
                            <Image Source="bin\\debug\\new.png"/>
                        </Button>
                        <Button Height="36" Width="36" Click="OnButtonEditClicked">
                            <Image Source="bin\\debug\\edit.png"/>
                        </Button>
                        <Button  Height="36" Width="36" Click="OnButtonRemoveClicked">
                            <Image Source="bin\\debug\\remove.png"/>
                        </Button>
                        <Button Height="36" Width="36" Click="OnButtonResetClicked">
                            <Image Source="bin\\debug\\synchronize.png"/>
                        </Button>
                    </ToolBar>
                </ToolBarTray>
            </DockPanel>
            <DockPanel Name="DP3" Grid.Row="2">
                <DataGrid Name="TelGrid" ItemsSource="{ Binding View }" CanUserAddRows="False"
                          EnableRowVirtualization="False"
                          ColumnHeaderHeight="30" RowHeaderWidth="30" RowHeight="30" HeadersVisibility="All"
                          SelectionMode="Extended" AutoGenerateColumns="False">
                    <DataGrid.ColumnHeaderStyle>
                        <Style TargetType="DataGridColumnHeader">
                            <Setter Property="FontSize" Value="18"/>
                            <Setter Property="Foreground" Value="YellowGreen"/>
                            <Setter Property="Background" Value="Aquamarine"/>
                            <Setter Property="HorizontalContentAlignment" Value="Center"/>
                        </Style>
                    </DataGrid.ColumnHeaderStyle>
                    <DataGrid.Columns>
                        <DataGridTextColumn Header="Apellido" Binding="{Binding Surname}" Width="200" FontSize="16" IsReadOnly="True">
                        </DataGridTextColumn>
                        <DataGridTextColumn Header="Nombres" Binding="{Binding Name}" Width="200" FontSize="16" IsReadOnly="True">
                        </DataGridTextColumn>
                        <DataGridTemplateColumn Header="Teléfonos" Width="160" IsReadOnly="True">
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <ComboBox Height="30" FontSize="16"
                                              ItemsSource="{ Binding Tels.PhoneNbrs }" 
                                              DisplayMemberPath="Number"                                           
                                              SelectedIndex="0" />
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>
                        <DataGridTextColumn Header="Dirección" Binding="{ Binding Address }" Width="160" FontSize="16" IsReadOnly="True">
                        </DataGridTextColumn>
                        <DataGridTextColumn Header="E-Mail" Binding="{ Binding Mail }" Width="160" FontSize="16" IsReadOnly="True">
                        </DataGridTextColumn>
                    </DataGrid.Columns>
                </DataGrid>
            </DockPanel>
        </Grid>
    </Window>
    

    martes, 28 de enero de 2020 23:22

Todas las respuestas

  • hola pablito

    Debes revisar varias cosas

    1. window.DataContext

    las lineas 

     <Window.DataContext>
            <local:MainWindow/>
        </Window.DataContext>

    me sacan error

    2. las imagenes si esten en la ruta que indicas ej: Source="bin\\debug\\new.png"

    3. No existan definidos los metodos de eventos OnButtonNewClicked, SendListToTXTFile, OnButtonEditClicked... etc...

    revisa antes de ejecutar, borra y coloca nuevamente los controles que hayas puesto en la window

    miércoles, 29 de enero de 2020 20:52
  • Hola Greg

    Si borro lo de <Window.DataContext> no se cargan los datos de la base de datos en el DataGrid.

    Los métodos y las imágenes están. De hecho si borro lo del DataContext el programa se ejecuta pero sin datos.

    Gracias por responder

    Ahora voy a probar borrando y colocando de nuevo los controles

    miércoles, 29 de enero de 2020 22:53