Jump to content

Microsoft Expression Blend - Acesso a base de dados


Filipe_O

Recommended Posts

Boas

Tenho uma aplicação móvel para fazer em microsoft expression blend.

Com esse software consigo usar uma base de dados?

Ou tenho de fazer no visual studio, e depois usar no expression blend?

Posso fazer apenas a parte de programação no visual studio, e o visual tratar no expression blend?

Sim tenho mesmo de usar o microsoft expression blend

Fiquem bem e obrigado

Link to comment
Share on other sites

Se for aplicação móvel, obrigatorialmente você precisa usar o SDK do Windows Phone 7. E aí criar uma aplicação usando template que será instalado no Visual Studio junto com o SDK. Se ainda não a baixou, procure, faça download e instale. Aplicações WPF ou Silverlight só funcionam em desktop.

Edited by petvetbr

Fernando Lage Bastos - MCP/MCTS/MCPD

Link to comment
Share on other sites

Boas!

Estou a fazer a conexão da bd ao meu projecto, seguindo um tutorial:

Criei a bd

Criei um WCF service application

Adicionei um item "Linq to SQL Classes"

Arrastei a tabela para a págica // Até aqui, feito

"Altere o atributo Serialization Mode do objecto BDVendasDataContext para Unidirectional. Isto fará gerar automaticamente a serialização das classes agora criadas."

Eu só tenho uma tabela e no tutorial usam 3 interligadas...

No meu não aparece nenhuma opcão de serialzation mode... apenas aparece isto, onde era suposto ver isto.

Sabem-me ajudar?

Edited by Filipe_O
Link to comment
Share on other sites

}1. Abra o Visual Studio sem abrir um novo projecto.

2. No menu View seleccione Server Explorer

3. Crie uma nova base de dados SQL Server Database File da seguinte forma:

4. Dê o nome Vendas à base de dados.

5. Insira uma nova tabela.

6. Na nova tabela crie um atributo idVenda.

7. Atribua as características de identificador autonumerado ao atributo idVenda.

8. Crie um atributo denominado data do tipo date.

9. Coloque o atributo idVenda como chave primária da tabela.

10. Guarde a tabela com o nome Venda.

11. Crie outra tabela com os seguintes atributos. Nota: Defina o atributo idDetalheVenda como autonumerado e chave primária como já tinha feito anteriormente.

12. Guarde a tabela com o nome DetalheVenda.

13. Acrescente um novo diagrama.

14. Caso apareça a mensagem seguinte aceite.

15. Adicione ao projecto as duas tabelas criadas.

16. Arraste o atributo idVenda da tabela DetalheVenda para cima da tabela Venda. Vai criar uma relação entre as duas tabelas.

17. Verifique que a chave estrangeira faz parte da tabela DetalheVenda.

18. Aceite as opções propostas no ecrã seguinte.

19. A relação entre as duas tabelas foi criada.

20. Guarde o diagrama e dê-lhe um nome.

21. Aceite guardar as alterações.

22. Crie uma tabela Produto como fez anteriormente com as restantes.

23. Coloque o atributo idProduto como chave primária autogerada.

24. Guarde a tabela.

25. Altere o diagrama da base de dados introduzindo a tabela Produto e crie uma relação com a tabela DetalheVenda.

(adicionar mais tabelas)

30. Crie um novo projecto do tipo WCF Service Application e dê-lhe o nome WcfServiceVendas.

31. Acrescente um novo elemento ao projecto.

32. Acrescente um objecto Linq do SQL Classes que fará a ligação à base de dados.

33. Dê-lhe a designação de BDVendas.dbml.

34. Arraste as tabelas criadas na base de dados para o canvas.

35. Aceite a cópia da aplicação para a pasta do projecto.

36. Depois de rearranjar os elementos gráficos deve conseguir ficar com algo como:

37. Clique no canvas do Diagrama1 Altere o atributo Serialization Mode do objecto BDVendasDataContext para Unidirectional. Isto fará gerar automaticamente a serialização das classes agora criadas. // problema!

38. Neste momento a sua base de dados está ligada ao seu projecto.

Tá um pouco confuso, sorry

Outra coisa:Estilos

Pelo que vi na internet devo carregar em "object"->"Edit Style"->"Create empty"..

Cria-me algo como isto:

<phone:PhoneApplicationPage.Resources>
<Style x:Key="GridStyle1" TargetType="Grid"/>
</phone:PhoneApplicationPage.Resources>

Para experimentar introduzi a linha

<Setter Property="Background" Value="Aqua"></Setter>

Mas dá-me erro no "Setter", dizendo:Each dictionary entry must have an associated key.

Será mais fácil fazer tudo no visual studio?

Edited by Filipe_O
Link to comment
Share on other sites

Conexão a BD: Obrigado!

Estilo:

<phone:PhoneApplicationPage
(...)
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">
<Grid x:Name="LayoutRoot" Background="Transparent">
	  <Grid.Background>
		<Image Source="fundo.png"></Image>
	</Grid.Background>
	<Grid.RowDefinitions>
	<Grid.RowDefinitions>
		<RowDefinition Height="Auto"/>
		<RowDefinition Height="*"/>
	</Grid.RowDefinitions>
	<!--TitlePanel contains the name of the application and page title-->
	<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
		<TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
		<TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
	</StackPanel>
(...)
</phone:PhoneApplicationPage.ApplicationBar>-->
</phone:PhoneApplicationPage>

Neste caso o que queria era colocar uma imagem como fundo.

Mas qualquer item de estilo tem de estar dentro de um "Grid.resources", e dentro de um "Setter" certo?

BD:

1) Tenho um campo (nchar) que queria por uma coisa por tópicos, mas quando faço copy/paste dos tópicos, apenas cola um (não é possível ter um paragrafo).

Existe alguma maneira, ou apenas alterando, no final, o espaçamento entre linhas?

2) Tenho dois campos para imagens... como as introduzo?

Obrigado!

Edited by Filipe_O
Link to comment
Share on other sites

Neste caso o que queria era colocar uma imagem como fundo.

Mas qualquer item de estilo tem de estar dentro de um "Grid.resources", e dentro de um "Setter" certo?

Isto mesmo.

BD:

1) Tenho um campo (nchar) que queria por uma coisa por tópicos, mas quando faço copy/paste dos tópicos, apenas cola um (não é possível ter um paragrafo).

Existe alguma maneira, ou apenas alterando, no final, o espaçamento entre linhas?

Não estou conseguindo entender muito como isto funcionaria. Você tem um exemplo do que quer fazer para colocar?

2) Tenho dois campos para imagens... como as introduzo?

Você vai exibir estas imagens aonde? Não é muito fácil trabalhar com imagens armazenadas em um banco de dados por causa da passagem pelo webservice/WCF. Precisa colocar rotinas para converter para bytes, codificar e depois fazer o caminho inverso no aplicativo. Geralmente a melhor maneira de fazer isto é armazenar as imagens em um servidor web e somente passar a URL da imagem para o programa baixar.

Edited by KTachyon
Correcção das citações

Fernando Lage Bastos - MCP/MCTS/MCPD

Link to comment
Share on other sites

1) Tipo ter este texto todo, no mesmo campo da tabela.

2)Vai ser uma app para mostrar os animais de um zoo... cada registo de um animal na BD teria uma ou mais imagens do mesmo.percebes?

Geralmente a melhor maneira de fazer isto é armazenar as imagens em um servidor web e somente passar a URL da imagem para o programa baixar.

Podes explicar melhor?

Em relação ao XAML:

Como é que eu defino o fundo dentro do grid.resources?

<Setter Property="Background" Value="Aqua"></Setter>

Dá-me erro (All objects added to an IDictionary must have a Key attribute or some other type of key associated with them), e não consigo definir o caminho de uma imagem...

Link to comment
Share on other sites

1) Tipo ter este texto todo, no mesmo campo da tabela.

Neste caso você teria que criar parágrfo por parágrafo mesmo (não recomendo) ou usar um RichTextBox dentro do campo para isto usando como DataTemplate. Porém já vou avisando que: a) Isto não é muito fácil de fazer b) A exibição de texto formatado desta forma em XAML é bastante complexa e até mesmo não recomendada pelas diretrizes de interface do Windows Phone.

2)Vai ser uma app para mostrar os animais de um zoo... cada registo de um animal na BD teria uma ou mais imagens do mesmo.percebes?

Sim

Podes explicar melhor?

Eu faria assim: coloque as imagens em um servidor web em uma pasta que possa ser acessada através de um browser, vamos supor que você coloque na pasta /imagensZoo/

aí ao invés de enviar a imagem do banco de dados você enviaria as URLs como exemplo

http://meuservidor.com/imagensZoo/elefante.png

na sua aplicação no Windows Phone, você simplesmente acessaria estas imagens pela URL, fica mais fácil de fazer download, mais dinâmico e mais eficiente.

Em relação ao XAML:

Como é que eu defino o fundo dentro do grid.resources?

<Grid.Resources>
<Style TargetType=Grid>
<Setter Property="Background" Value="Aqua"></Setter>
</....>
</....>

Dá-me erro (All objects added to an IDictionary must have a Key attribute or some other type of key associated with them), e não consigo definir o caminho de uma imagem...

Edited by KTachyon
correcção das citações

Fernando Lage Bastos - MCP/MCTS/MCPD

Link to comment
Share on other sites

1) Então não há hipótese...

Ou por outra:A única hipótese, era não ser um campo da BD, e cada texto era escrito, por mim..

2) então o campo seria char (por hipótese), e eu introduzia o link? como é que ele sabia que era para fazer download?

Se puser o link, ele mostra o link (texto)... não?

O fundo, funcionou 😄

Mas, agora, como introduzo o caminho para uma imagem?

Edited by Filipe_O
Link to comment
Share on other sites

Tenho outras questões:

No Dreamweaver, é possível na mesma imagem, criar diversas hiperligações, em forma de circulo, quadrado, etc..

Existe essa possibilidade, no expression blend?

Conseguiriam-me ajudar a fazer isto, em c# e XAML?

EDIT: Consigo com o xaml... só tenho um problema:

Quando o utilizador carrega em botões que estão no mapa, é suposto aparecer uma barra, mas apenas consigo definir a posição da barra em relação a imagem, o que faz com que, ao mover a imagem, se carregar no botão, já não vejo a barra (que queria que estivesse fixa)

Sabem-me ajudar?

Como consigo eliminar o espaço em sublinhado deste exemplo? E o espaço entre o texto e o limite do fundo branco?

Obrigado

Edited by Filipe_O
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.