Rápido e fácil: Mover um retângulo usando c# em uma App Store do Windows

Minha filosofia geral do blog é que é perfeitamente possível blog velho, estabeleceu-se assuntos que foram cobertos até a morte em outro lugar.  Presumo que este tópico é um daqueles, Mas eu estou blogando-Enfim.

Tenho trabalhado em uma janela loja app e estou na parte onde eu preciso fazer alguma animação.  Para este fim., Estive pensando pedaços e pedaços do windows armazenam animação app que, como acontece, é bastante próximo ao, Mas não exatamente como, Animações XAML baseado em .NET (Ainda vou a lidar com o fato de que WinRT <> .NET 🙂 ).

Esta manhã eu queria obter uma alça sobre arrastar e soltar as operações.  No caminho para que, Eu tenho esbarrado movendo-se um retângulo em vez disso :).  Aqui está o código que move um retângulo quando o usuário clica em um botão:

   1:   
   2:              MatrixTransform ct = (MatrixTransform)rectBig.RenderTransform;
   3:              Matriz m = ct.Matriz;
   4:              m.OffsetX   = 10;
   5:              m.OffsetY   = 10;
   6:              ATLMatriz = m;
   7:              rectBig.RenderTransform = ct;

O truque aqui é que não posso mudar diretamente OffsetX ou OffsetY.  Pode haver uma maneira mais inteligente de fazer isso (e se você conhece e me sinto como, por favor, poste nos comentários). 

Para fazer isso, Eu preciso:

1. Obter o MatrixTransform do retângulo (lançando RenderTransform).

2. Obter a matriz desse cara.

3. Alterar deslocamentos do Matrix.

4. Reatribuir a matriz para o MatrixTransform.

5. Reatribuir o MatrixTransform volta ao retângulo.

Para testá-lo, Eu coloquei um retângulo e botão na tela. Quando clico no botão, a lógica acima executa e move o retângulo imediatamente.

Em algum momento, Eu gostaria de animar isto, mas não faço ideia de como conseguir um DoubleAnimation para trabalhá-lo (Storyboard.SetTargetProperty() está sendo um mistério para mim sobre este para o tempo).

</fim>

undefinedSubscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin

Definindo a altura da ListboxItems em uma caixa de listagem programaticamente para App Store do Windows

Estou trabalhando em um aplicativo de armazenamento do windows e uma das coisas que quero fazer no app é exibir um log que mostra mensagens de status e outros petiscos informativos como o utilizador trabalha as coisas. Para este fim., Eu adicionei um ListBox como segue:

<ListBox x:Nome ="GameStateLog" HorizontalAlignment ="Centro" Altura ="221" VerticalAlignment ="Início" Largura ="499" Preenchimento ="0" FontSize ="10">

 

O código c# para preencher o listbox em tempo de execução foi ao longo das linhas de:

GameStateLog.Items.Insert(0, GameStateCounter     + ": Novo estado do jogo: esperando por jogador 1 nome");

Isso funcionou bem o suficiente, mas a interface do usuário mostrou uma quantidade louca de preenchimento ao redor as mensagens individuais como eles foram adicionados. Isso faz sentido, se deseja que os usuários finais para ser capaz de selecionar esses itens, mas não faz sentido quando eu só quero mostrar uma série de duração das mensagens de log-os usuários não selecionar estas, apenas visualizá-los. Era estranhamente difícil de encontrar uma maneira fácil de fazer isso e, possivelmente,, a maneira que eu encontrei não é necessariamente "fácil", mas eu consegui trabalhar Okey. O insight chave veio nesta postagem here (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) de Bob Relyea. Em vez de adicionar seqüências de caracteres para a coleção de itens no ListBox, Adicionar ListBoxItems. Adicionando uma cadeia de caracteres, o ListBox foi criando sua própria ListBoxItem por conta própria. Eu não era capaz de afetar qualquer coisa sobre esse ListBoxItem após o fato. O novo código é:

        privada privatevoid AddGameStateLogMessage(Cadeia de caracteres Amensagem)
        {
            ListBoxItem li = Novo ListBoxItem();
            Li.Conteúdo = mensagem;
            Li.MaxHeight = 25;

            Espessura thisPadding = Novo Espessura(5, 0, 5, 0);
            Li.Preenchimento = thisPadding;

            GameStateLog.Items.Insert(0,Li);
        }

 

Aqui estou criando do ListBoxItem e inseri-los. Eu removi o preenchimento em excesso, definindo sua espessura.

Isso é muito flexível que eu pretendo fazer alguma cor de codificação para destacar determinados tipos de mensagens e adicionando diretamente ListBoxItems eu chegar ao estilo-los como quiser.

Espero que isso ajude alguém!

</fim>

undefinedSubscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin

Rápido e fácil – Nomes de fila azul seguros

Post bobo mas simples.

Como um seguimento da postagem de ontem sobre"StorageException era não tratada"Eu pensei que eu iria mostrar o pequeno trecho de código que eu uso para gerar nomes de fila:

 

        público estático Cadeia de caracteres GetRandomQueueName()
        {
            GUID g;
            g = System.Guid.NewGuid();
            Voltar g.ToString();

        } 

Tipo de bobo em sua simplicidade, mas funciona bem para mim e gerou centenas de nomes de fila segura no último par de semanas.

</fim>

undefinedSubscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin

Trabalhar com filas de azuis – "StorageException foi não tratada”

Eu fui brincar com Azure filas para a última semana ou duas, e isso tem acontecido muito.  Onde estavam essas coisas quando eu precisava deles de volta 1990?

Este artigo, em particular, é uma excelente introdução às filas para programadores de .NET: http://www.windowsazure.com/en-us/develop/net/how-to-guides/queue-service/.  Usando esse artigo, Fui capaz de recompor um pouco muito bom de lógica de cliente-servidor que até agora é confiável e só funciona com nenhuma dor.  Realmente – onde foi essa coisa em 1990?

Eu bati um pequeno tropeço fora da porteira, no entanto.   Assim que eu me desviei das especificidades das noções básicas, Fui atingida por um StorageException e um "o servidor remoto retornou um erro (400) Bad Request.

image

Acontece que o meu nome de fila foi fora:

image

Quando eu mudei o "OneQueueToRuleThemAll" para "onequeuetorulethemall" o StorageException foi embora.  Não notei nenhum dos documentos chamando isto, mas também pode fazer isso.

Espero que ajude alguém.

</fim>

undefinedSubscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin

Primeiras impressões sobre o Surface Pro

[Atualização 3/26: Recebi um tweet do povo @Surface, perguntando se poderia me ajudar com alguma coisa, Então fiz um plug para Swype, que reconheceram com um "interessante – Obrigado pelo feedback, Paulo!”  Realmente acho que Swype daria este dispositivo muito mais fácil de usar para produtividade casual.  (Também, Corrigido um erro que apontou para mim por um amigo-Obrigado, Mike!)]

Meu escritório ganhou um concurso no início deste ano, com um prêmio de pequena quantia de dinheiro anexado a ele.  Usei o dinheiro para subsidiar a compra de um Surface Pro (128GB com o plano de seguro de 2 anos) e eu tenho usado muito desde então.  Comprei-o na Microsoft Store no shopping por Columbus Circle, em Manhattan.  Preço total foi sobre $1300 USD with the better keyboard and the sucker’s insurance 🙂

Comprei 4 dias atrás e já mal posso imaginar não tê-lo.  Trouxe-me para a cama para ler o excelente tão longe Programação Windows 8 Apps com HTML, CSS, e JavaScript e foi a primeira coisa que eu alcancei para quando eu acordei.

Aqui estão algumas impressões, em nenhuma ordem particular:

Como tocar: Eu quero tocar cada tela que vejo agora.

Windows 8 é para dispositivos de toque: Eu tenho um apreço muito mais forte para o Windows 8.  Este/s traduz muito melhor para um dispositivo sensível ao toque do que um teclado.  Em primeiro lugar, Não sabia como começar mal, mas rapidamente se tornou segunda natureza para mim. E é muito rápido e ágil, Então você não sente que você está ficando em torno ou pagando uma multa por um erro.  Eu não sou um especialista com a interface do usuário (ainda acontecem coisas de mistério) Mas eu estou voando ao redor do lugar com uma boa dose de confiança depois de um relativamente pequeno punhado de horas nele

Ao mesmo tempo, Agora que eu estou usando o toque, Eu tenho uma compreensão muito melhor do / s de uma perspectiva de laptop Dell.  O mouse pad na minha E6430 não compete com vários pontos da superfície de contato, etc., Mas ele faz um bom trabalho com alguns dos gestos.  Mas, independentemente do mouse pad, tendo trabalhado com a superfície agora, Eu sei o que está acontecendo quando eu mexer meu cursor do mouse e várias pistas pouco pop-up nos cantos e tal.

Eu também quero apontar uma linha deste post de blog por Brandon Carson:

Junto vem a Microsoft com uma perspectiva diferente de como um sistema operacional deve oferecer suporte a seus usuários. Em vez de dois do sistema operacional e uma fragmentação entre dispositivos, Microsoft cria um novo sistema operacional para misturar a experiência de lean-volta com a experiência de área de trabalho e dar ao usuário controle sobre como interagir com seu dispositivo."

Essa linha cristalizado para mim o ponto inteiro de Win8 como um / s.  É um iPad e é portátil.  Eu gosto disso.  Eu gosto muito.  Não levo meu laptop para a cama muito frequentemente e quando eu faço, é uma novidade e uma dor.  Essa coisa pode ir em todos os lugares comigo, incluindo o trabalho.

A loja do windows é incrível!  Presumi que, Quando eu comprei a superfície, que o windows app store seria uma completa perda de tempo, uma terra árida e resíduos dos apps hesitante, agarrando-se ao solo rochoso, triste e patético.  Acho que os vários povos anti-Microsoft estão ganhando o corações e mentes argumento aqui.  Embora é empiricamente verdadeiro que Apple e Google tem zilhões mais apps em suas lojas, nanismo-MSFT, MSFT ainda tem uma boa seleção e está crescendo.   Meu ponto não é que a loja do MSFT é "melhor" do que aqueles, Mas isso não é tão ruim quanto a intertubes vai fazer você pensar.  Dê uma olhada. Há muitos apps interessantes lá fora.

Caneta é incrível!: A capacidade de escrever e desenhar diagramas de arquitetura para sempre que eu quero.  3ª festa tudo sempre senti kludgy, a menos que você comprou um que era caro e não me parece.  Com a superfície, é totalmente natural e rápido, Além disso, muitos aplicativos interessantes disponíveis.  Estes incluem o paint.net, algo interessante de Evernote (Skitch), OneNote (que tem suporte de primeira classe para a caneta), PowerPoint (permite anotando e desenhando durante as apresentações).  Eu tenho mal arranhamos a superfície aqui e estou adorando.  Confira este post de blog para uma opinião mais profissional sobre como a superfície pode ser usado para a arte de força mais industrial.  Eu não posso esperar minha próxima demo PPT.

Joga Civ5! (com uma pequena ajuda de alguns amigos):  Civ with touch is really neat 🙂

Alguns aborrecimentos:

  • Bateria não é grande.  Não é melhor que o meu laptop.  Eu tenho esta vaga noção de que as pilhas precisam ser "condicionada" (Mas isso provavelmente é um disparate) Então, se for o caso, pode ficar melhor.
  • Teclado é muito pequeno.  Mas, Já estava me acostumando com isso.
  • Não Swype! Eu só comecei a usar o Swype há alguns meses atrás no meu Galaxy S3 a correr Android e eu não posso acreditar como produtiva fez-me.  Não ter isso na Win8 é realmente frustrante, e parece que vai ser um longo tempo, Se alguma vez, antes Swype está disponível.  Algumas outras 3 partes estão trabalhando nisso, mas minha 30 valor de segundos de pesquisa implica que o/s só não apoiá-lo.  (Se você não estiver usando Swype ou um dos seus primos você deve parar de ler este post no blog e experimentá-lo; Este post quase certamente ainda estará aqui quando você voltar).
  • Fator de forma global -Ainda estou me acostumando a isso.  É uma bela tela e Netflix é grande sobre ele.  Navegação na Web é grande sobre ele. Mas, MS Word – espécie de difícil e não muito amigável de toque (Para mim, até agora).  Já vi capturas de tela de pessoas usando o visual studio nele – que parece ser um trecho.  Mas vou experimentá-lo em algum momento.

Assim, Vamos lá!  Espero que isso ajude alguém a pensar sobre isso.  É muito cedo para eu dizer "comprá-lo!”.  Vou revisitar este post em uma semana ou assim e acompanhar.

</fim>

Subscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin

Um exercício de inesperadamente Awesome Team Building

Eu convocou uma equipe reunião aqui para a equipe de Nova York do SharePoint e no último minuto, por nenhuma razão especial, adicionado um novo item da agenda:

Troca de informações pessoais: Eu vou puxar terra de google e cada um de nós vai dizer a equipe onde nascemos e onde nós vivemos hoje. Vou a mapeá-lo em tempo real. Nós também vamos fazer um rápido resumo das nossas respectivas famílias. Sinta-se livre para criar uma família fantasia aqui mas mantenha em mente que uma vez começar a mentir sobre a família, Você tem que criar sucessivamente elaboradas mentiras e você provavelmente irá tropeçar em algum momento, Então prepare-se para isso.

Eu pensei que isso levaria 20 minutos, mais ou menos a ver com nove pessoas.  Em vez disso, Demorou 90 minutos Sorriso, principalmente porque as pessoas gastaram uma quantidade significativa de tempo em lugares diferentes ao redor do globo.  Era um exercício fascinante, e nós certamente aprendemos muito sobre o outro.  Eu aprendi, Finalmente, o que as pessoas quer dizer por "Norte" e "Sul" Índia.

Se você pode encontrar o tempo neste movimentado e agitado dias para fazer algo assim, Recomendo-o vivamente.

</fim>

Subscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin

Atividades de prática de acompanhamento – Parte 1

Há um ano atrás, Juntei-me Slalom consultoria aqui em Nova York, como o que chamamos de conduzir uma área de prática.  (Como um pequeno aparte ao ponto deste blog post, Isso muda em empregos contas minha entrega total em blogging.  Foi uma grande mudança nos papéis e uma grande mudança no dia-a-dia "coisas", mas eu meio que me aclimatados a ele e olhar para a frente para escrever de novo Sorriso ).

Neste papel de PAL, Eu sou responsável para salvar a empresa e o entorno imediato da 21 Oeste da rua 21 do desastre em uma base regular.  É muita pressão (mais do que você imagina – apenas pense em todas as crianças!). 

Em serviço a esse imperativo, Preciso de ajuda com pré-vendas, criar e atualizar as ofertas de go-to-market, contratar pessoal, treinar pessoal para torná-los melhor (Mas realmente, para facilitar meu trabalho) e ocasionalmente fazer algo Faturável em um cliente.  Eu recebo um monte de "entrada" – perguntas de clientes, oportunidades de vendas, meus próprios pensamentos addled e assim por diante.  Alguns deles é muito bom (como um oppty vendas quente) Enquanto muitos é menos bom.  A chave é controlar inicialmente, priorizar e gerenciar cada uma dessas idéias (grandes e pequenos) a uma conclusão bem sucedida. 

Este tipo de gerenciamento de tarefas não é novo, direito?  E temos muitas ferramentas de tarefa para nos ajudar com isso.  Outlook tem tarefas.  Você pode bater uma planilha juntos agradável e rápida.  Minha primeira ferramenta de gerenciamento de tarefas foi um bloco de notas legal em meus dias no GAF como desenvolvedor no departamento de ti.  (Perguntar-me sobre os bons velhos tempos da próxima vez que você me ver se você está interessado, ou talvez não…).

Sendo um cara do SharePoint (nominalmente, pelo menos), Eu pensei sempre que usar o SharePoint.  Mas por algum motivo, uma lista genérica de tarefas nunca fez isso por mim.  Um bando de meses atrás, Decidi curar-me e só criar uma solução do SharePoint com base.  Era tão embaraçosamente fácil criar o que eu pensei em escrever sobre isso aqui.

Assim, meus objetivos aqui eram muito simples:

  • Entrada de dados super fácil e rápido
  • Priorizar atividades
  • Categorizar as atividades
  • "próximo passo" conduzido – essas atividades muitas vezes vão abranger semanas (Talvez até meses).  Quase nunca "acabam" depois de uma atualização específica.

Esses bits se prestam muito bem para um tipo de conteúdo, é isso que eu criei:

image

Você pode ver que eu tinha um viés de vendas com isso no início, desde que eu tenho nesse campo "Cliente".  Muitas atividades da minha prática baseiam-se em torno de clientes (reais ou potenciais).  Mas muitos deles concentram-se também internamente.  Bater "Slalom" lá dentro quando eu criá-los, Mas sempre me parece um pouco estranho.  Deveria ter chamado algo mais genérico.  Talvez "organização alvo" ou algo assim.

Aqui estão algumas notas diversas sobre o tipo de conteúdo:

  • Impacto da atividade tem desconcentrado em uma medição de prioridade.  Não sei por que eu fui com "Impacto" e não "prioridade" dia zero, Mas isso é o que eu fiz. 
  • Próximos passos e próximos passos data – eu tenho um painel que é impulsionado pela data da próxima atividade.  Este painel de tornou minhas ordens para o dia/semana.  Vá para o painel de controle e se concentrar em coisas de alta prioridade primeiro e de lá ir.  (Há a noção de uma "formatação"
  • Proprietário principal – é a única coisa de nota – Não é incrível que você pode classificar e filtrar em selecionar várias colunas em SP 2010! Na verdade não totalmente comprei nesta noção no início.
  • Status de atividade – realmente só "Abrir" ou "Fechado". 
  • Prática primária – depois que comecei a usar este, outro amigo meu grupo queria experimentar, Então eu escorreguei isto na mistura para distinguir entre minhas coisas (Portais & Colaboração) e as coisas dela (Azure).

Aqui está o meu painel de controle:

image

(Desculpa por todos os bits turva fora – não queria criar um bando de dados de teste e não quero ninguém dar um ataque cardíaco sobre compartilhamento de detalhes vitais [Ver o pouco na introdução re: salvar o mundo, etc., etc., etc.]).

Eu tenho vários outros pontos de vista sobre esta lista, incluindo um modo folha de dados que permite-me para atualizações de massa.  Faço isso mais frequentemente quando um bando de prioridade mais baixa itens que planejava fazer um nunca muito tem feitos e precisam ser empurrado para fora de uma semana.

Todos os dias, Eu puxar meu log de atividades e só começar a trabalhar em cima da lista.

Em parte 2, Vou explicar como fiz isto ainda mais útil com a adição de uma biblioteca do bom doutor habilitados para email e fluxo de trabalho do SPD.

</fim>

Subscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin

Slalom consultoria–Boston SharePoint liderança necessária

Entrei para Slalom consultoria de seis meses para o dia e tem sido um passeio incrível.  Eu pretendo blog pouco mais sobre que agora que estou começando a sentir-se bastante sólido.  Trabalhar aqui é como viver em um conto de fadas na maioria das vezes.  Pessoas inteligentes, clientes interessantes, sólido apoio da gestão local e corporativo … a libação ocasional … coisas boas.

Nosso escritório de Boston, apenas abriu e eles estão procurando um líder iniciar sua prática de SharePoint.  É muito complexo, desafios de trabalho completa com muita diversão.  Definir ofertas de interesse para o mercado local, você arregaçar as mangas e fazer o trabalho real e contratar gente para construir a melhor equipe que você pode gerenciar.  Não posso recomendá-lo altamente bastante.

Se você estiver interessado nesta posição ou se você conhece alguém que poderá estar interessado, por favor, disparar um e-mail para mim: Paul.Galvin@slalom.com.

Eu estou contente de compartilhar minhas experiências sincero (bons e maus) aqui em Nova York.

</fim>

Subscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin

Meu livro de fluxo de trabalho está disponível para compra

Eu comecei a falar com meus co-autores originais há mais de dois anos.  Eles eventualmente abandonaram o projeto, mas tarde neste verão, com a ajuda de vários novos co-autores, Eu era finalmente capaz de colocá-la em toda a linha de chegada. 

Workflow profissional no SharePoint 2010: Soluções de negócios mundo real bater a Amazon e a Barnes e Noble site algum tempo no último 10 dias.  Ele está disponível em paperback e Kindle/Nook e tudo isso, apenas a tempo para um grande presente de Natal. Sorriso

Este livro é sobre duas coisas: 1) capacitar os usuários finais para que eles podem resolver os seus problemas de negócios usando SP 2010 recursos de fluxo de trabalho e 2) ajudando a equipe de TI (desenvolvedores em particular) Faça o mesmo.  Cerca de dois terços do livro são voltados para o que eu chamo de "Ativista usuários" (usuários finais de altamente qualificados, mas não técnicos e motivados).  Ele tenta explicar como a embarcação soluções em SharePoint 2010 usando o fluxo de trabalho do SharePoint Designer e um número de características adicionais do SharePoint.

O último terço destina-se diretamente ao desenvolvedor.  No entanto, ao contrário de alguns dos livros puramente técnicos sobre o mercado, Esses capítulos explicam como os desenvolvedores do SharePoint podem criar funcionalidade que fortalece ainda mais aqueles usuários ativistos por meio de atividades personalizadas do SharePoint Designer e outros bits técnicos.  Por capacitar os usuários em sua organização ativistos, você liberar sua equipe de desenvolvimento (ou apenas para si mesmo) fazer realmente difícil (e normalmente mais tecnicamente interessante) coisas que os usuários finais pode nunca fazer e nunca deve tentar em seus próprio.

Nas próximas semanas, Vou escrever mais sobre o livro, incluindo material macio como "como é que gosta de escrever um livro" que eu sei que muitas pessoas estão interessadas em saber sobre.  Em primeiro lugar-eu introduzi meus co-autores sem quem este livro nunca poderia ter sobrevivido para ver a luz do dia.

Leia mais sobre o livro sobre o Web site da Amazônia.

</fim>

Subscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin

Padrão de Design de interface do usuário SharePoint Web Part usando XSL

Eu tenho sido dando uma palestra deste ano em um padrão de design para web parts do SharePoint onde a interface do usuário é totalmente gerenciado através de XSL. 

Eu pretendo escrever isso mais detalhadamente durante o próximo período de tempo.  Nesse meio tempo, Aqui está o PowerPoint.

O código fonte para este projeto é até no CodePlex aqui: http://webpartsxsl.codeplex.com/.

</fim>

Subscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin